<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://t2-cms.knu.ac.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop</id>
	<title>T3_KR_KNU - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://t2-cms.knu.ac.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop"/>
	<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php/Special:Contributions/WikiSysop"/>
	<updated>2026-05-21T07:34:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondorQueueInfo&amp;diff=3290</id>
		<title>HTCondorQueueInfo</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondorQueueInfo&amp;diff=3290"/>
		<updated>2026-05-20T02:42:26Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* HTCondor JobType */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor JobType ==&lt;br /&gt;
* 경북대학교 HTCondor Farm 에서는 다음과 같이 JobType을 지원합니다.&lt;br /&gt;
* JobType을 이용하여 과거 Torque/PBS 시스템의 Queue처럼 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== JobType 종류 ===&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분 !! 작업 특성  !! 최대 작업시간  !! 최대 실행 작업수 !! &amp;lt;u&amp;gt;작업우선순위&amp;lt;/u&amp;gt;  !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 80시간&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| 보통&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 100&lt;br /&gt;
| 높음&lt;br /&gt;
| 테스트 작업 (+JobType=&amp;quot;short&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Long&lt;br /&gt;
| 7일&lt;br /&gt;
| 200&lt;br /&gt;
| 보통&lt;br /&gt;
| 장기간 수행 작업 (+JobType=&amp;quot;long&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Heavy&lt;br /&gt;
| 80시간&lt;br /&gt;
| 500&lt;br /&gt;
| 보통&lt;br /&gt;
| Heavy I/O 작업 (+JobType=&amp;quot;heavy&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 7일&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| 보통&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 5&lt;br /&gt;
| 높음&lt;br /&gt;
| 테스트 작업 (+JobType=&amp;quot;short&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Long&lt;br /&gt;
| 14일&lt;br /&gt;
| 5&lt;br /&gt;
| 보통&lt;br /&gt;
| 장기간 작업 (+JobType=&amp;quot;long&amp;quot;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간이나 최대 작업수는 향후 변경될 수 있습니다. 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
==== JobType 설정 방법  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +JobType = &amp;quot;short&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* JobType 을 지정하지 않으면 default 입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3289</id>
		<title>News &amp; Notices</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3289"/>
		<updated>2026-05-20T02:42:05Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Notices ==&lt;br /&gt;
* &amp;lt;u&amp;gt;[[HTCondorQueueInfo| HTCondor에 JobType(Queue)문서가 갱신되었습니다.]] 2025.05.20&amp;lt;/u&amp;gt;&lt;br /&gt;
* [[JupyterHub|JupyterHub 문서가 갱신되었습니다.]] 2026.05.04&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.07.17&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2025.07.16&lt;br /&gt;
* [[HTCondorQueueInfo| HTCondor 에 JobType(Queue)가 추가되었습니다.]] 2025.05.13&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Cvmfs_root|CVMFS 에서 root 사용하기 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.04.23&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.07.08&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[Uberftp|uberftp에 치명적인 버그가 있습니다. 사용에 주의하세요]] 2021.05.17&lt;br /&gt;
* [[HTCondorGPU|HTCondor에서 GPU 사용법 문서가 추가되었습니다.]] 2021.05.12&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 갱신되었습니다.]] 2021.03.31&lt;br /&gt;
* [[mosh|mosh  가이드가 등록되었습니다.]] 2021.03.17&lt;br /&gt;
* [[x2go|x2go를 이용한 원격데스크탑 가이드가 등록되었습니다.]] 2021.03.11&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 갱신되었습니다.]] 2021.03.05&lt;br /&gt;
* [[HTCondor에서 GPU 사용하기]] 2021.03.04&lt;br /&gt;
* [[Duc|자신의 디스크 사용량을 쉽게 확인할 수 있는 툴을 소개합니다.]] 2020.11.05&lt;br /&gt;
* [[CreamCE/SL6 서비스 종료]] 2020.10.15&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 작성중입니다.]] 2020.07.30&lt;br /&gt;
* [[CreamCE/Torque → HTCondorCE/HTCondor 이전 안내]] 2020.07.23&lt;br /&gt;
* 스토리지 엘리먼트가 1.45PB로 증가하였습니다.  2020.06.26&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 갱신 되었습니다.]] 2020.03.20&lt;br /&gt;
* [[Scratch Disk가 교체 및 증설 안내]] 2020.02.10&lt;br /&gt;
* [[Notion|Notion 문서를 추가하였습니다.]] 2019.09.20&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2019.08.30&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.12.10&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 추가 되었습니다.]] 2018.12.03&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 추가 되었습니다.]] 2018.11.08&lt;br /&gt;
* [[torque|Torque 사용법 문서가 갱신 되었습니다.]] 2018.10.15&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.08.31&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm에 큰 메모리를 사용하는 작업 전용의 queue를 추가하였습니다.]] 2018.07.13&lt;br /&gt;
* [[T2_KR_KNU_Decommissioned| 경북대 Tier2 서비스는 4월 30일자로 종료되고 해당자원은 Tier3로 통합됩니다.]] 2018.04.18&lt;br /&gt;
* cms03이 SL6로 업그레이드되었습니다. 2018.01.16&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2017.11.22&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 별도 분리되었습니다.]] 2017.11.22&lt;br /&gt;
* 스토리지 엘리먼트가 1.29PB로 증가하였습니다.  2017.10.12&lt;br /&gt;
* [[crab|Crab Tutorial을 업데이트 하였습니다.]] 2017.06.29&lt;br /&gt;
* [[Storage_Element_Tutorial#xrootd_.EB.A5.BC_.ED.99.9C.EC.9A.A9.ED.95.9C_SE_Data_.EC.A0.91.EA.B7.BC_.EB.B0.A9.EB.B2.95|Storage Element Tutorial에서 xrootd 관련 항목이 업데이트 되었습니다.]] 2017.06.15&lt;br /&gt;
* [[Webfts|WebFTS 사용법 항목이 추가되었습니다.]] 2017.04.14&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2016.12.06&lt;br /&gt;
* 스토리지 엘리먼트가 1.2PB로 증가하였습니다.  2016.12.05&lt;br /&gt;
* [[Task_monitoring_for_the_analysis_users|Analysis 사용자를 위한 작업 모니터링 가이드가 추가되었습니다.]] 2016.10.19&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드가 갱신되었습니다.]] 2016.10.07&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 추가되었습니다.]] 2016.10.06&lt;br /&gt;
* 스토리지 엘리먼트가 1PB로 증가하였습니다.  2016.08.10&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트를 UI에서 NFS로 바로 읽을 수 있습니다.]] 2016.07.19&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm의 queue에 대한 세부정보를 업데이트 하였습니다.]] 2016.02.12&lt;br /&gt;
* [[Motd|Tier2/3 UI motd(Message of the Day)에서 스토리지 엘리먼트를 비롯한 디스크 사용량을 확인할수 있습니다.]] 2015.12.28&lt;br /&gt;
* [[Ssh_Public_key_Authentication|보다 안전하고 편리한 ssh 공개키 인증 사용법 항목이 추가 되었습니다.]] 2015.12.28&lt;br /&gt;
* [[Create-batch|create-batch 사용법 항목이 추가 되었습니다.]] 2015.12.21&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[torque|Torque 사용법 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[crab|Crab Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[Q&amp;amp;A|Q&amp;amp;A 항목이 추가 되었습니다.]] 2015.10.12&lt;br /&gt;
* [[uberftp | uberftp 사용법 항목이 추가되었습니다.]] 2015.10.12 &lt;br /&gt;
* T2_KR_KNU 홈페이지가 리뉴얼 되었습니다. 2015.10.12&lt;br /&gt;
* [https://indico.cern.ch/event/386181/ 2015 CMS DAS (Data Analysis School) at Korea가 개최되었습니다.] 2015.08.25~29&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3288</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3288"/>
		<updated>2026-05-20T02:41:32Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039; [[File:CMS-logo.gif|40px]] = &lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
== News &amp;amp; Notices ==&lt;br /&gt;
* &amp;lt;u&amp;gt;[[HTCondorQueueInfo| HTCondor에 JobType(Queue)문서가 갱신되었습니다.]] 2025.05.20&amp;lt;/u&amp;gt;&lt;br /&gt;
* [[JupyterHub|JupyterHub 문서가 갱신되었습니다.]] 2026.05.04&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.07.17&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2025.07.16&lt;br /&gt;
* [[HTCondorQueueInfo| HTCondor에 JobType(Queue)가 추가되었습니다.]] 2025.05.13&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Cvmfs_root|CVMFS 에서 root 사용하기 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.04.23&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.07.08&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/registration KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondorQueueInfo&amp;diff=3287</id>
		<title>HTCondorQueueInfo</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondorQueueInfo&amp;diff=3287"/>
		<updated>2026-05-20T02:39:51Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* JobType 종류 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor JobType ==&lt;br /&gt;
* 경북대학교 HTCondor Farm 에서는 다음과 같이 JobType을 지원합니다.&lt;br /&gt;
* JobType을 이용하여 과거 Torque/PBS 시스템의 Queue처럼 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== JobType 종류 ===&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분 !! 작업 특성  !! 최대 작업시간  !! 최대 실행 작업수 !! 작업우선순위  !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 80시간&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| 보통&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 100&lt;br /&gt;
| 높음&lt;br /&gt;
| 테스트 작업 (+JobType=&amp;quot;short&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Long&lt;br /&gt;
| 7일&lt;br /&gt;
| 200&lt;br /&gt;
| 보통&lt;br /&gt;
| 장기간 수행 작업 (+JobType=&amp;quot;long&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Heavy&lt;br /&gt;
| 80시간&lt;br /&gt;
| 500&lt;br /&gt;
| 보통&lt;br /&gt;
| Heavy I/O 작업 (+JobType=&amp;quot;heavy&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 7일&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| 보통&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 5&lt;br /&gt;
| 높음&lt;br /&gt;
| 테스트 작업 (+JobType=&amp;quot;short&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Long&lt;br /&gt;
| 14일&lt;br /&gt;
| 5&lt;br /&gt;
| 보통&lt;br /&gt;
| 장기간 작업 (+JobType=&amp;quot;long&amp;quot;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간이나 최대 작업수는 향후 변경될 수 있습니다. 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
==== JobType 설정 방법  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +JobType = &amp;quot;short&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* JobType 을 지정하지 않으면 default 입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3286</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3286"/>
		<updated>2026-05-07T08:31:23Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039; [[File:CMS-logo.gif|40px]] = &lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
== News &amp;amp; Notices ==&lt;br /&gt;
* &amp;lt;u&amp;gt;[[JupyterHub|JupyterHub 문서가 갱신되었습니다.]] 2026.05.04&amp;lt;/u&amp;gt;&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.07.17&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2025.07.16&lt;br /&gt;
* [[HTCondorQueueInfo| HTCondor에 JobType(Queue)가 추가되었습니다.]] 2025.05.13&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Cvmfs_root|CVMFS 에서 root 사용하기 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.04.23&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.07.08&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/registration KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3285</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3285"/>
		<updated>2026-05-04T07:12:18Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Python 3 + PyROOT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
* 주의) cvmfs 환경을 이용하기 때문에 초기 import 시 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
===== 사용자 가상환경 커널 추가 =====&lt;br /&gt;
&lt;br /&gt;
* 가상환경 만들기&lt;br /&gt;
 python3 -m venv ~/venvs/mykernel&lt;br /&gt;
 source ~/venvs/mykernel/bin/activate&lt;br /&gt;
 pip install --upgrade pip&lt;br /&gt;
 pip install ipykernel numpy pandas matplotlib&lt;br /&gt;
&lt;br /&gt;
* Jupyter 커널로 등록&lt;br /&gt;
 python -m ipykernel install --user --name mykernel --display-name &amp;quot;Python (mykernel)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
===== 사용자 정의 커널 추가 =====&lt;br /&gt;
&lt;br /&gt;
* 커널 디렉토리 생성&lt;br /&gt;
 mkdir -p ~/.local/share/jupyter/kernels/python3-pyroot-user&lt;br /&gt;
&lt;br /&gt;
* kernel.json 생성&lt;br /&gt;
 cat &amp;gt; ~/.local/share/jupyter/kernels/python3-pyroot-user/kernel.json &amp;lt;&amp;lt;&#039;EOF&#039;  &lt;br /&gt;
 {  &lt;br /&gt;
 &amp;quot;argv&amp;quot;: [  &lt;br /&gt;
 &amp;quot;bash&amp;quot;,  &lt;br /&gt;
 &amp;quot;-lc&amp;quot;,  &lt;br /&gt;
 &amp;quot;source /cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/setup.sh &amp;amp;&amp;amp; exec /opt/jupyterhub/user/bin/python -m ipykernel_launcher -f {connection_file}&amp;quot;  &lt;br /&gt;
 ],  &lt;br /&gt;
 &amp;quot;display_name&amp;quot;: &amp;quot;Python 3 + PyROOT (user)&amp;quot;,  &lt;br /&gt;
 &amp;quot;language&amp;quot;: &amp;quot;python&amp;quot;  &lt;br /&gt;
 }  &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
===== 커널 삭제 =====&lt;br /&gt;
&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/.local/share/jupyter/kernels/mykernel&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3284</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3284"/>
		<updated>2026-04-30T08:22:16Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* ROOT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
===== 사용자 가상환경 커널 추가 =====&lt;br /&gt;
&lt;br /&gt;
* 가상환경 만들기&lt;br /&gt;
 python3 -m venv ~/venvs/mykernel&lt;br /&gt;
 source ~/venvs/mykernel/bin/activate&lt;br /&gt;
 pip install --upgrade pip&lt;br /&gt;
 pip install ipykernel numpy pandas matplotlib&lt;br /&gt;
&lt;br /&gt;
* Jupyter 커널로 등록&lt;br /&gt;
 python -m ipykernel install --user --name mykernel --display-name &amp;quot;Python (mykernel)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
===== 사용자 정의 커널 추가 =====&lt;br /&gt;
&lt;br /&gt;
* 커널 디렉토리 생성&lt;br /&gt;
 mkdir -p ~/.local/share/jupyter/kernels/python3-pyroot-user&lt;br /&gt;
&lt;br /&gt;
* kernel.json 생성&lt;br /&gt;
 cat &amp;gt; ~/.local/share/jupyter/kernels/python3-pyroot-user/kernel.json &amp;lt;&amp;lt;&#039;EOF&#039;  &lt;br /&gt;
 {  &lt;br /&gt;
 &amp;quot;argv&amp;quot;: [  &lt;br /&gt;
 &amp;quot;bash&amp;quot;,  &lt;br /&gt;
 &amp;quot;-lc&amp;quot;,  &lt;br /&gt;
 &amp;quot;source /cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/setup.sh &amp;amp;&amp;amp; exec /opt/jupyterhub/user/bin/python -m ipykernel_launcher -f {connection_file}&amp;quot;  &lt;br /&gt;
 ],  &lt;br /&gt;
 &amp;quot;display_name&amp;quot;: &amp;quot;Python 3 + PyROOT (user)&amp;quot;,  &lt;br /&gt;
 &amp;quot;language&amp;quot;: &amp;quot;python&amp;quot;  &lt;br /&gt;
 }  &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
===== 커널 삭제 =====&lt;br /&gt;
&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/.local/share/jupyter/kernels/mykernel&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3283</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3283"/>
		<updated>2026-04-30T07:43:06Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 사용자 커널 추가하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
===== 사용자 가상환경 커널 추가 =====&lt;br /&gt;
&lt;br /&gt;
* 가상환경 만들기&lt;br /&gt;
 python3 -m venv ~/venvs/mykernel&lt;br /&gt;
 source ~/venvs/mykernel/bin/activate&lt;br /&gt;
 pip install --upgrade pip&lt;br /&gt;
 pip install ipykernel numpy pandas matplotlib&lt;br /&gt;
&lt;br /&gt;
* Jupyter 커널로 등록&lt;br /&gt;
 python -m ipykernel install --user --name mykernel --display-name &amp;quot;Python (mykernel)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
===== 사용자 정의 커널 추가 =====&lt;br /&gt;
&lt;br /&gt;
* 커널 디렉토리 생성&lt;br /&gt;
 mkdir -p ~/.local/share/jupyter/kernels/python3-pyroot-user&lt;br /&gt;
&lt;br /&gt;
* kernel.json 생성&lt;br /&gt;
 cat &amp;gt; ~/.local/share/jupyter/kernels/python3-pyroot-user/kernel.json &amp;lt;&amp;lt;&#039;EOF&#039;  &lt;br /&gt;
 {  &lt;br /&gt;
 &amp;quot;argv&amp;quot;: [  &lt;br /&gt;
 &amp;quot;bash&amp;quot;,  &lt;br /&gt;
 &amp;quot;-lc&amp;quot;,  &lt;br /&gt;
 &amp;quot;source /cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/setup.sh &amp;amp;&amp;amp; exec /opt/jupyterhub/user/bin/python -m ipykernel_launcher -f {connection_file}&amp;quot;  &lt;br /&gt;
 ],  &lt;br /&gt;
 &amp;quot;display_name&amp;quot;: &amp;quot;Python 3 + PyROOT (user)&amp;quot;,  &lt;br /&gt;
 &amp;quot;language&amp;quot;: &amp;quot;python&amp;quot;  &lt;br /&gt;
 }  &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
===== 커널 삭제 =====&lt;br /&gt;
&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
 or&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/.local/share/jupyter/kernels/mykernel&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3282</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3282"/>
		<updated>2026-04-30T07:37:54Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* JupyterHub */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
===== Ex) 1 =====&lt;br /&gt;
&lt;br /&gt;
* 가상환경 만들기&lt;br /&gt;
 python3 -m venv ~/venvs/mykernel&lt;br /&gt;
 source ~/venvs/mykernel/bin/activate&lt;br /&gt;
 pip install --upgrade pip&lt;br /&gt;
 pip install ipykernel numpy pandas matplotlib&lt;br /&gt;
&lt;br /&gt;
* Jupyter 커널로 등록&lt;br /&gt;
 python -m ipykernel install --user --name mykernel --display-name &amp;quot;Python (mykernel)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
===== Ex) 2 =====&lt;br /&gt;
&lt;br /&gt;
* 커널 디렉토리 생성&lt;br /&gt;
 mkdir -p ~/.local/share/jupyter/kernels/python3-pyroot-user&lt;br /&gt;
&lt;br /&gt;
* kernel.json 생성&lt;br /&gt;
 cat &amp;gt; ~/.local/share/jupyter/kernels/python3-pyroot-user/kernel.json &amp;lt;&amp;lt;&#039;EOF&#039;  &lt;br /&gt;
 {  &lt;br /&gt;
 &amp;quot;argv&amp;quot;: [  &lt;br /&gt;
 &amp;quot;bash&amp;quot;,  &lt;br /&gt;
 &amp;quot;-lc&amp;quot;,  &lt;br /&gt;
 &amp;quot;source /cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/setup.sh &amp;amp;&amp;amp; exec /opt/jupyterhub/user/bin/python -m ipykernel_launcher -f {connection_file}&amp;quot;  &lt;br /&gt;
 ],  &lt;br /&gt;
 &amp;quot;display_name&amp;quot;: &amp;quot;Python 3 + PyROOT (user)&amp;quot;,  &lt;br /&gt;
 &amp;quot;language&amp;quot;: &amp;quot;python&amp;quot;  &lt;br /&gt;
 }  &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3281</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3281"/>
		<updated>2026-04-30T07:37:16Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 사용자 커널 추가하기 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 1 ====&lt;br /&gt;
&lt;br /&gt;
==== ex 1 ====&lt;br /&gt;
&lt;br /&gt;
* 가상환경 만들기&lt;br /&gt;
 python3 -m venv ~/venvs/mykernel&lt;br /&gt;
 source ~/venvs/mykernel/bin/activate&lt;br /&gt;
 pip install --upgrade pip&lt;br /&gt;
 pip install ipykernel numpy pandas matplotlib&lt;br /&gt;
&lt;br /&gt;
* Jupyter 커널로 등록&lt;br /&gt;
 python -m ipykernel install --user --name mykernel --display-name &amp;quot;Python (mykernel)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 2 ====&lt;br /&gt;
&lt;br /&gt;
* 커널 디렉토리 생성&lt;br /&gt;
 mkdir -p ~/.local/share/jupyter/kernels/python3-pyroot-user&lt;br /&gt;
&lt;br /&gt;
* kernel.json 생성&lt;br /&gt;
 cat &amp;gt; ~/.local/share/jupyter/kernels/python3-pyroot-user/kernel.json &amp;lt;&amp;lt;&#039;EOF&#039;  &lt;br /&gt;
 {  &lt;br /&gt;
 &amp;quot;argv&amp;quot;: [  &lt;br /&gt;
 &amp;quot;bash&amp;quot;,  &lt;br /&gt;
 &amp;quot;-lc&amp;quot;,  &lt;br /&gt;
 &amp;quot;source /cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/setup.sh &amp;amp;&amp;amp; exec /opt/jupyterhub/user/bin/python -m ipykernel_launcher -f {connection_file}&amp;quot;  &lt;br /&gt;
 ],  &lt;br /&gt;
 &amp;quot;display_name&amp;quot;: &amp;quot;Python 3 + PyROOT (user)&amp;quot;,  &lt;br /&gt;
 &amp;quot;language&amp;quot;: &amp;quot;python&amp;quot;  &lt;br /&gt;
 }  &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3280</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3280"/>
		<updated>2026-04-30T07:35:56Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 커널 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 1 ====&lt;br /&gt;
&lt;br /&gt;
* 커널 디렉토리 생성&lt;br /&gt;
 mkdir -p ~/.local/share/jupyter/kernels/python3-pyroot-user&lt;br /&gt;
&lt;br /&gt;
* kernel.json 생성&lt;br /&gt;
 cat &amp;gt; ~/.local/share/jupyter/kernels/python3-pyroot-user/kernel.json &amp;lt;&amp;lt;&#039;EOF&#039;  &lt;br /&gt;
 {  &lt;br /&gt;
 &amp;quot;argv&amp;quot;: [  &lt;br /&gt;
 &amp;quot;bash&amp;quot;,  &lt;br /&gt;
 &amp;quot;-lc&amp;quot;,  &lt;br /&gt;
 &amp;quot;source /cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/setup.sh &amp;amp;&amp;amp; exec /opt/jupyterhub/user/bin/python -m ipykernel_launcher -f {connection_file}&amp;quot;  &lt;br /&gt;
 ],  &lt;br /&gt;
 &amp;quot;display_name&amp;quot;: &amp;quot;Python 3 + PyROOT (user)&amp;quot;,  &lt;br /&gt;
 &amp;quot;language&amp;quot;: &amp;quot;python&amp;quot;  &lt;br /&gt;
 }  &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 2 ====&lt;br /&gt;
&lt;br /&gt;
* 커널 디렉토리 생성&lt;br /&gt;
 mkdir -p ~/.local/share/jupyter/kernels/python3-pyroot-user&lt;br /&gt;
&lt;br /&gt;
* kernel.json 생성&lt;br /&gt;
 cat &amp;gt; ~/.local/share/jupyter/kernels/python3-pyroot-user/kernel.json &amp;lt;&amp;lt;&#039;EOF&#039;  &lt;br /&gt;
 {  &lt;br /&gt;
 &amp;quot;argv&amp;quot;: [  &lt;br /&gt;
 &amp;quot;bash&amp;quot;,  &lt;br /&gt;
 &amp;quot;-lc&amp;quot;,  &lt;br /&gt;
 &amp;quot;source /cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/setup.sh &amp;amp;&amp;amp; exec /opt/jupyterhub/user/bin/python -m ipykernel_launcher -f {connection_file}&amp;quot;  &lt;br /&gt;
 ],  &lt;br /&gt;
 &amp;quot;display_name&amp;quot;: &amp;quot;Python 3 + PyROOT (user)&amp;quot;,  &lt;br /&gt;
 &amp;quot;language&amp;quot;: &amp;quot;python&amp;quot;  &lt;br /&gt;
 }  &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3279</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3279"/>
		<updated>2026-04-30T07:34:51Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 사용자 커널 추가하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
* 커널 디렉토리 생성&lt;br /&gt;
 mkdir -p ~/.local/share/jupyter/kernels/python3-pyroot-user&lt;br /&gt;
&lt;br /&gt;
* kernel.json 생성&lt;br /&gt;
 cat &amp;gt; ~/.local/share/jupyter/kernels/python3-pyroot-user/kernel.json &amp;lt;&amp;lt;&#039;EOF&#039;  &lt;br /&gt;
 {  &lt;br /&gt;
 &amp;quot;argv&amp;quot;: [  &lt;br /&gt;
 &amp;quot;bash&amp;quot;,  &lt;br /&gt;
 &amp;quot;-lc&amp;quot;,  &lt;br /&gt;
 &amp;quot;source /cvmfs/sft.cern.ch/lcg/views/LCG_106/x86_64-el9-gcc13-opt/setup.sh &amp;amp;&amp;amp; exec /opt/jupyterhub/user/bin/python -m ipykernel_launcher -f {connection_file}&amp;quot;  &lt;br /&gt;
 ],  &lt;br /&gt;
 &amp;quot;display_name&amp;quot;: &amp;quot;Python 3 + PyROOT (user)&amp;quot;,  &lt;br /&gt;
 &amp;quot;language&amp;quot;: &amp;quot;python&amp;quot;  &lt;br /&gt;
 }  &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
* 확인&lt;br /&gt;
 jupyter kernelspec list&lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 jupyter kernelspec uninstall mykernel&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3278</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3278"/>
		<updated>2026-04-24T08:30:26Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* JupyterHub */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
* 기본 제공 커널에서 사용자가 원하는 패키지가 없거나 특정한 버전의 패키지가 필요하다면 자신이 원하는 구성으로 사용자 커널을 추가할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* anaconda3 환경설정 로딩&lt;br /&gt;
&lt;br /&gt;
 $ . /opt/anaconda3/anaconda3.sh&lt;br /&gt;
&lt;br /&gt;
* 가상환경 추가 및 패키지 설치 (가상환경이름: ipykernel_py3.7)&lt;br /&gt;
&lt;br /&gt;
 $ conda create -n &#039;&#039;ipykernel_py3.7&#039;&#039; python=3.7 ipykernel&lt;br /&gt;
 $ conda activate &#039;&#039;ipykernel_py3.7&#039;&#039;&lt;br /&gt;
 $ conda install -c conda-forge &#039;&#039;matplotlib&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 커널 추가 (커널이름: python3.7, 메뉴표시이름: Python(3.7))&lt;br /&gt;
 $ ipython kernel install --user --name &#039;&#039;python3.7&#039;&#039; --display-name &amp;quot;Python(3.7)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 커널 조회&lt;br /&gt;
 $ jupyter kernelspec list &lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 $ jupyter kernelspec uninstall &amp;quot;python3.7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3277</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3277"/>
		<updated>2026-04-24T08:30:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 기본 제공 커널 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
* 기본 제공 커널에서 사용자가 원하는 패키지가 없거나 특정한 버전의 패키지가 필요하다면 자신이 원하는 구성으로 사용자 커널을 추가할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* anaconda3 환경설정 로딩&lt;br /&gt;
&lt;br /&gt;
 $ . /opt/anaconda3/anaconda3.sh&lt;br /&gt;
&lt;br /&gt;
* 가상환경 추가 및 패키지 설치 (가상환경이름: ipykernel_py3.7)&lt;br /&gt;
&lt;br /&gt;
 $ conda create -n &#039;&#039;ipykernel_py3.7&#039;&#039; python=3.7 ipykernel&lt;br /&gt;
 $ conda activate &#039;&#039;ipykernel_py3.7&#039;&#039;&lt;br /&gt;
 $ conda install -c conda-forge &#039;&#039;matplotlib&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 커널 추가 (커널이름: python3.7, 메뉴표시이름: Python(3.7))&lt;br /&gt;
 $ ipython kernel install --user --name &#039;&#039;python3.7&#039;&#039; --display-name &amp;quot;Python(3.7)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 커널 조회&lt;br /&gt;
 $ jupyter kernelspec list &lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 $ jupyter kernelspec uninstall &amp;quot;python3.7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3276</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3276"/>
		<updated>2026-04-24T08:29:53Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 기본 제공 커널 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
* 기본 제공 커널에서 사용자가 원하는 패키지가 없거나 특정한 버전의 패키지가 필요하다면 자신이 원하는 구성으로 사용자 커널을 추가할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* anaconda3 환경설정 로딩&lt;br /&gt;
&lt;br /&gt;
 $ . /opt/anaconda3/anaconda3.sh&lt;br /&gt;
&lt;br /&gt;
* 가상환경 추가 및 패키지 설치 (가상환경이름: ipykernel_py3.7)&lt;br /&gt;
&lt;br /&gt;
 $ conda create -n &#039;&#039;ipykernel_py3.7&#039;&#039; python=3.7 ipykernel&lt;br /&gt;
 $ conda activate &#039;&#039;ipykernel_py3.7&#039;&#039;&lt;br /&gt;
 $ conda install -c conda-forge &#039;&#039;matplotlib&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 커널 추가 (커널이름: python3.7, 메뉴표시이름: Python(3.7))&lt;br /&gt;
 $ ipython kernel install --user --name &#039;&#039;python3.7&#039;&#039; --display-name &amp;quot;Python(3.7)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 커널 조회&lt;br /&gt;
 $ jupyter kernelspec list &lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 $ jupyter kernelspec uninstall &amp;quot;python3.7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3275</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3275"/>
		<updated>2026-04-24T08:29:39Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 기본 제공 커널 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Python 3 + PyROOT  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.11.9&lt;br /&gt;
* ROOT                      6.32.02&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
* 기본 제공 커널에서 사용자가 원하는 패키지가 없거나 특정한 버전의 패키지가 필요하다면 자신이 원하는 구성으로 사용자 커널을 추가할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* anaconda3 환경설정 로딩&lt;br /&gt;
&lt;br /&gt;
 $ . /opt/anaconda3/anaconda3.sh&lt;br /&gt;
&lt;br /&gt;
* 가상환경 추가 및 패키지 설치 (가상환경이름: ipykernel_py3.7)&lt;br /&gt;
&lt;br /&gt;
 $ conda create -n &#039;&#039;ipykernel_py3.7&#039;&#039; python=3.7 ipykernel&lt;br /&gt;
 $ conda activate &#039;&#039;ipykernel_py3.7&#039;&#039;&lt;br /&gt;
 $ conda install -c conda-forge &#039;&#039;matplotlib&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 커널 추가 (커널이름: python3.7, 메뉴표시이름: Python(3.7))&lt;br /&gt;
 $ ipython kernel install --user --name &#039;&#039;python3.7&#039;&#039; --display-name &amp;quot;Python(3.7)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 커널 조회&lt;br /&gt;
 $ jupyter kernelspec list &lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 $ jupyter kernelspec uninstall &amp;quot;python3.7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3274</id>
		<title>JupyterHub</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=JupyterHub&amp;diff=3274"/>
		<updated>2026-04-24T08:23:24Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Python 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JupyterHub ==&lt;br /&gt;
&lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
* jupyterhub는 jupyter notebook을 다중 사용자가 사용할 수 있도록 만들어진 환경입니다.&lt;br /&gt;
* 아래 주소를 이용하여 경북대 Tier3 jupyterhub에 접속할 수 있습니다.&lt;br /&gt;
* https://cms.knu.ac.kr:8000&lt;br /&gt;
&lt;br /&gt;
=== 커널 ===&lt;br /&gt;
&lt;br /&gt;
* 노트북 커널은 노트북 문서에 포함 된 코드를 실행하는 &amp;quot;계산 엔진&amp;quot;입니다.&lt;br /&gt;
&lt;br /&gt;
==== 기본 제공 커널 ====&lt;br /&gt;
&lt;br /&gt;
===== Python 3  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.9.25&lt;br /&gt;
&lt;br /&gt;
===== Python 2.7  =====&lt;br /&gt;
&lt;br /&gt;
* python                    2.7.15&lt;br /&gt;
* htcondor 8.9.5&lt;br /&gt;
* matplotlib 2.2.5&lt;br /&gt;
* numpy 1.16.5&lt;br /&gt;
&lt;br /&gt;
===== Python 3.6 (ROOT) =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.6.13&lt;br /&gt;
* root                         6.24.2&lt;br /&gt;
* htcondor                  9.1.2&lt;br /&gt;
* matplotlib                3.3.4&lt;br /&gt;
* numpy                     1.19.5&lt;br /&gt;
&lt;br /&gt;
===== Python 3.7 (TF_CPU)  =====&lt;br /&gt;
&lt;br /&gt;
* python                    3.7.12&lt;br /&gt;
* tensorflow                2.7.0&lt;br /&gt;
* matplotlib                3.5.1&lt;br /&gt;
* numpy                     1.21.5&lt;br /&gt;
&lt;br /&gt;
===== ROOT C++ (6.24/02)  =====&lt;br /&gt;
&lt;br /&gt;
* root                         6.24.2&lt;br /&gt;
&lt;br /&gt;
==== 사용자 커널 추가하기 ====&lt;br /&gt;
&lt;br /&gt;
* 기본 제공 커널에서 사용자가 원하는 패키지가 없거나 특정한 버전의 패키지가 필요하다면 자신이 원하는 구성으로 사용자 커널을 추가할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* anaconda3 환경설정 로딩&lt;br /&gt;
&lt;br /&gt;
 $ . /opt/anaconda3/anaconda3.sh&lt;br /&gt;
&lt;br /&gt;
* 가상환경 추가 및 패키지 설치 (가상환경이름: ipykernel_py3.7)&lt;br /&gt;
&lt;br /&gt;
 $ conda create -n &#039;&#039;ipykernel_py3.7&#039;&#039; python=3.7 ipykernel&lt;br /&gt;
 $ conda activate &#039;&#039;ipykernel_py3.7&#039;&#039;&lt;br /&gt;
 $ conda install -c conda-forge &#039;&#039;matplotlib&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 커널 추가 (커널이름: python3.7, 메뉴표시이름: Python(3.7))&lt;br /&gt;
 $ ipython kernel install --user --name &#039;&#039;python3.7&#039;&#039; --display-name &amp;quot;Python(3.7)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* 커널 조회&lt;br /&gt;
 $ jupyter kernelspec list &lt;br /&gt;
&lt;br /&gt;
* 커널 삭제&lt;br /&gt;
 $ jupyter kernelspec uninstall &amp;quot;python3.7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== HTCondor Python API ===&lt;br /&gt;
&lt;br /&gt;
* HTCondor Python API를 이용하면 jupyter 환경에서 htcondor 를 사용할수 있습니다.&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/index.html HTCondor Python Bindings Tutorials]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Submitting-and-Managing-Jobs.html Submitting and Managing Jobs]&lt;br /&gt;
* [https://htcondor.readthedocs.io/en/latest/apis/python-bindings/tutorials/Advanced-Job-Submission-And-Management.html Advanced Job Submission and Management]&lt;br /&gt;
* 위 문서중에 있는 [launch binder]를 클릭하면 해당 예제를 실습해볼수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== ROOT ===&lt;br /&gt;
&lt;br /&gt;
* C++ ROOT &lt;br /&gt;
&lt;br /&gt;
 TCanvas c;&lt;br /&gt;
 TH1F h(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4);&lt;br /&gt;
 h.FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h.Draw();&lt;br /&gt;
 c.Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_c_ex1.png|700px]] &lt;br /&gt;
&lt;br /&gt;
* Python ROOT&lt;br /&gt;
&lt;br /&gt;
 import ROOT&lt;br /&gt;
&lt;br /&gt;
 c = ROOT.TCanvas(&amp;quot;c&amp;quot;)&lt;br /&gt;
 h = ROOT.TH1F(&amp;quot;h&amp;quot;,&amp;quot;ROOT Histo;X;Y&amp;quot;,64,-4,4)&lt;br /&gt;
&lt;br /&gt;
 %%cpp&lt;br /&gt;
 h-&amp;gt;FillRandom(&amp;quot;gaus&amp;quot;);&lt;br /&gt;
 h-&amp;gt;Draw();&lt;br /&gt;
 c-&amp;gt;Draw();&lt;br /&gt;
&lt;br /&gt;
[[File:root_py_ex1.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* https://github.com/root-project/root/tree/master/bindings/jupyroot&lt;br /&gt;
* [https://root.cern/doc/master/group__tutorial__pyroot.html PyRoot tutorials]&lt;br /&gt;
&lt;br /&gt;
=== tensorflow ===&lt;br /&gt;
&lt;br /&gt;
* 현재 jupyterhub에서는 tensoflow cpu 만 사용할 수 있습니다.&lt;br /&gt;
* tensorflow gpu의 사용을 위해서는 기존과 같이 htcondor를 이용해야합니다.&lt;br /&gt;
&lt;br /&gt;
=== 기타 ===&lt;br /&gt;
&lt;br /&gt;
==== 단축키 ====&lt;br /&gt;
* [https://ljs93kr.tistory.com/54 Jupyter notebook 단축키 정리]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=How_to_use_Tier2_at_KNU&amp;diff=3273</id>
		<title>How to use Tier2 at KNU</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=How_to_use_Tier2_at_KNU&amp;diff=3273"/>
		<updated>2026-01-28T06:58:49Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Getting KNU Tier-3 Account */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-requisites ==&lt;br /&gt;
&lt;br /&gt;
KNU Tier-3를 이용하기 위해서는 Grid 환경에 접속하기 위한 인증서를 공식 인증 사이트를 통해 획득한 후 LCG VO에 등록하고 KNU Tier-3에 사용계획서 및 유저 등록을 통해 계정을 부여받는다.&lt;br /&gt;
&lt;br /&gt;
=== CERN 및 CMS User 등록 ===&lt;br /&gt;
  [[CERN_&amp;amp;_CMS_User_Registration|CERN &amp;amp; CMS User Registration]]&lt;br /&gt;
&lt;br /&gt;
=== VO(Virtual Organisation) 등록 ===&lt;br /&gt;
   CERN Certificate를 다운로드 받은 웹브라우저(인증서가 import 되어 있는)로&lt;br /&gt;
   [https://voms2.cern.ch:8443/voms/cms/register LCG CMS VO]에 접속하여 인증서를 등록. ([https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideLcgAccess#How_to_register_in_the_CMS_VO 참고: VO 등록방법 안내 자료])&lt;br /&gt;
   이메일등 신상 정보를 입력하고, role을 선택한 후 신청서를 제출하면, 담당자가 등록 결과를 이메일로 보내줌. [https://voms2.cern.ch:8443/voms/cms CMS VO 등록 여부 확인 홈페이지]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&#039;&#039;&#039;Getting KNU Tier-3 Account&#039;&#039;&#039;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039;1) [https://t2-cms.knu.ac.kr/registration/ KNU Account Registration 웹페이지]에서 신청서를 작성, 제출한다.&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;2) [https://t2-cms.knu.ac.kr/upload/Tier3_KR_KNU.hwp 사용계획서(hwp)]를 작성하여 e-mail(lcg_knu@knu.ac.kr)로 발송한다.&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039; 발급 받은 임시 비밀번호를 이용해 KNU Tier-3 UI에 접속합니다. (임시 비밀번호는 &amp;quot;passwd&amp;quot;명령을 이용하여 반드시 변경하십시오)&lt;br /&gt;
   &#039;&#039;&#039; &lt;br /&gt;
   &#039;&#039;&#039;$ ssh userid@kcms-t2.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039; &amp;lt;&amp;lt;Account 발급 전, 자주 하는 질문&amp;gt;&amp;gt;&lt;br /&gt;
   &#039;&#039; Q : 사용계획서는 왜 적어야 하나요?&lt;br /&gt;
   &#039;&#039;&#039; A : 사용계획서를 통하여 연구자들에게 필요한 전산 자원을 가늠하고 그에 따른 준비를 할 수 있습니다.&lt;br /&gt;
   &#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039; Q : CMS에서 처음 일하게 되어 전반적인 연구 내용을 잘 모릅니다. 신청서 내용 작성에 어려움이 많습니다. 어떻게 하면 좋을까요?&lt;br /&gt;
   &#039;&#039;&#039; A : CMS 신규 사용자의 경우 연구 내용을 잘 모를 수 있고, 컴퓨팅 자원에 대한 지식이 부족할 수 있습니다.&lt;br /&gt;
   &#039;&#039;&#039;     사용계획서 내의 예시를 보시고 작성하실 수 있는 부분을 간략히 적으시면 됩니다.&lt;br /&gt;
   &#039;&#039;&#039;     잘 모르는 부분은 빈란으로 두셔도 되지만, 가능하다면 연구실 선임께 여쭤보시는 방법도 좋습니다.&lt;br /&gt;
   &#039;&#039;&lt;br /&gt;
   &#039;&#039; Q : 연구 계획서에서 앞으로 사용할 (CPU, Disk) 사용량을 적어 냈는데요, 반드시 이 범위 내에서만 사용해야 하나요?&lt;br /&gt;
   &#039;&#039;&#039; A : 연구를 진행하시면서 연구 계획이 구체화되고 이에 따라 자원의 필요량이 증가하시면, Tier-3 연락처를 통해 미리 말씀해 주시면 필요한 자원의 할당을 준비해 드리겠습니다.&lt;br /&gt;
   &#039;&#039;&#039;     대량의 연구자원을 갑작스럽게 요청하시면 자원 할당에 시간이 다소 소요될 수 있습니다.&lt;br /&gt;
   &#039;&#039;&lt;br /&gt;
   &#039;&#039; Q : 초기에 제출한 전산자원 사용량을 초과하여 사용할 경우 불익이 있나요?&lt;br /&gt;
   &#039;&#039;&#039; A : 개인 용량을 다소 초과하셔도 불익은 없습니다. 다만 추가 사용량이 큰 경우 협의를 통해 조정하시기 바랍니다.&lt;br /&gt;
   &#039;&#039;&lt;br /&gt;
   &#039;&#039; Q : 연구의 내용이 확장되어 더 많은 자원을 필요로 합니다. 이런 경우 어떻게 해야 하나요?&lt;br /&gt;
   &#039;&#039;&#039; A : 연구계획 수정 내용을 추가로 작성/제출하시면 됩니다.&lt;br /&gt;
   &#039;&#039;&#039;     Tier-3 에서 보유하고 있는 여유 전산자원에 따라, 필요하신 자원의 준비에 다소 시간이 소요될 수 있으니 시간적 여유를 두시고 신청해 주시면 감사하겠습니다.&lt;br /&gt;
   &#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039; (기타 궁금하신 부분이 있으시면 언제든 연락 주시면 안내해 드리겠습니다.)&lt;br /&gt;
&lt;br /&gt;
=== Certificate ===&lt;br /&gt;
  [https://ca.cern.ch/ca/ CERN 인증서 웹사이트]에 접속하여 Certificate를 발급받는다.  &lt;br /&gt;
&lt;br /&gt;
  Certificate가 발급되면 인증서를 개인 PC 웹브라우저에 Import 한 후, &lt;br /&gt;
  Import된 인증서를 웹브라우저 설정 메뉴 중 Public key 관련탭에서 개인 PC로 Export할 수 있다. &lt;br /&gt;
  (인증서를 Export할 시 확장자는 &amp;quot;.Pfx&amp;quot;로 선택하시기 바랍니다.) &lt;br /&gt;
&lt;br /&gt;
  Export된 인증서 파일은 cms UI(cms.knu.ac.kr)의 본인 디렉토리에 복사한 후&lt;br /&gt;
  아래의 순서대로 인증서와 키를 만들어 .globus 디렉토리에 넣으시기 바랍니다.&lt;br /&gt;
   $ mkdir .globus&lt;br /&gt;
   $ openssl pkcs12 -in usercert.pfx -clcerts -nokeys -out .globus/usercert.pem&lt;br /&gt;
   $ openssl pkcs12 -in usercert.pfx -nocerts -out .globus/userkey.pem&lt;br /&gt;
   $ chmod 644 .globus/usercert.pem&lt;br /&gt;
   $ chmod 400 .globus/userkey.pem&lt;br /&gt;
&lt;br /&gt;
== KNU Tier-3 Login ==&lt;br /&gt;
&lt;br /&gt;
=== KNU UI 현황 ===&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   대표 Hostname  !! 세부 Hostname !! OS !! 접속방법 !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! kcms-t2.knu.ac.kr&lt;br /&gt;
| cms.knu.ac.kr&lt;br /&gt;
| CentOS7 &lt;br /&gt;
| ssh,mosh,x2go,jupyterhub&lt;br /&gt;
| Tier3  UI, HTCondor&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
! kcms-t2.knu.ac.kr&lt;br /&gt;
| cms01.knu.ac.kr&lt;br /&gt;
| CentOS7&lt;br /&gt;
| ssh,mosh,x2go&lt;br /&gt;
| Tier3 UI, HTCondor&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! kcms-t3.knu.ac.kr&lt;br /&gt;
| cms02.knu.ac.kr&lt;br /&gt;
| CentOS7 &lt;br /&gt;
| ssh,mosh,x2go&lt;br /&gt;
| Tier3 UI, HTCondor&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
! kcms-t3.knu.ac.kr&lt;br /&gt;
| cms03.knu.ac.kr&lt;br /&gt;
| CentOS7 &lt;br /&gt;
| ssh,mosh,x2go&lt;br /&gt;
| Tier3 U, HTCondor &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ssh ===&lt;br /&gt;
&lt;br /&gt;
==== Linux에서 ssh로 UI에 접속하기 ====&lt;br /&gt;
 터미널을 열어서 원격로그인(SSH)으로 접속한다. &lt;br /&gt;
 $ ssh -X username@kcms-t2.knu.ac.kr( or username@cms.knu.ac.kr, username@cms01.knu.ac.kr)&lt;br /&gt;
 $ ssh -X username@kcms-t3.knu.ac.kr( or username@cms02.knu.ac.kr, username@cms03.knu.ac.kr)&lt;br /&gt;
&lt;br /&gt;
==== Windows OS에서 ssh로 UI에 접속하기 ====&lt;br /&gt;
 Windows OS 에서 linux 서버로 접속하려면 원격 로그인을 사용할 수 있는 특정 프로그램이 필요하다.&lt;br /&gt;
    예) [http://www.chiark.greenend.org.uk/~sgtatham/putty/ &#039;&#039;&#039;Putty&#039;&#039;&#039;(무료)], &#039;&#039;&#039;SSH Secure Shell Client&#039;&#039;&#039; (프리웨어 또는 정식 서비스를 찾아 설치가능) - [[SSH_Secure_Shell_Client_의_경우|SSH Secure Shell Client 예시 화면]]&lt;br /&gt;
 또한, Event display 및 ROOT을 사용하기 위해서는 다음과 같은 X 서버를 별도로 설치하여야 한다.&lt;br /&gt;
    예) [http://sourceforge.net/projects/xming/ &#039;&#039;&#039;Xming&#039;&#039;&#039;(무료)], [http://x.cygwin.com/screenshots/ &#039;&#039;&#039;Cygwin/X&#039;&#039;&#039;(무료)], &#039;&#039;&#039;Hummingbird&#039;&#039;&#039;(유료), &#039;&#039;&#039;Xmanager&#039;&#039;&#039;(유료)&lt;br /&gt;
&lt;br /&gt;
* 첫 로그인 후 개인 Password 및 shell 설정시 유의사항&lt;br /&gt;
 1) 패스워드 변경시 passwd 명령을 사용.&lt;br /&gt;
 $ passwd&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : 비밀번호 변경은 더이상 yppasswd 명령을 사용하지 않습니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 2) Login Password는 알파벳, 숫자, 특수문자 등을 섞어서 사용하여 기억하기 쉬우면서도 길게 만드는 것이 해킹방지에 도움이 됩니다.&lt;br /&gt;
    (간단한 단어 또는 숫자만의 조합은 극히 위험함.)&lt;br /&gt;
&lt;br /&gt;
 3) 계정이 발급되었을때 처음 기본 쉘은 tcsh 이다. 기본 shell의 변경은 ypchsh 명령을 이용하여 bash 혹은 zsh 등의 자신이 선호하는 shell로 변경할 수 있다.&lt;br /&gt;
 $ ypchsh&lt;br /&gt;
&lt;br /&gt;
=== ssh 보다 편리한 mosh ===&lt;br /&gt;
&lt;br /&gt;
* [[mosh|mosh 소개 및 사용법]]&lt;br /&gt;
&lt;br /&gt;
=== 원격 데스크탑 접속이 필요하다면 x2go ===&lt;br /&gt;
&lt;br /&gt;
* [[x2go|x2go를 이용한 원격데스크탑 가이드]]&lt;br /&gt;
&lt;br /&gt;
=== JupyterHub  ===&lt;br /&gt;
&lt;br /&gt;
* [[JupyterHub|JupyterHub 사용법 ]]&lt;br /&gt;
&lt;br /&gt;
== Computing Element, 연산 자원 사용하기 ==&lt;br /&gt;
&lt;br /&gt;
=== Grid 작업을 위한 CRAB Tutorial ===&lt;br /&gt;
&lt;br /&gt;
* [[crab | Crab tutorial 항목을 참고하세요. ]]&lt;br /&gt;
   &lt;br /&gt;
=== 배치 작업(HTCondor) 실행하기 ===&lt;br /&gt;
[[HTCondor|HTCondor Batch System 사용법 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 GPU 사용하기 ===&lt;br /&gt;
[[HTCondorGPU|HTCondor에서 GPU 사용하기 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용하기 ===&lt;br /&gt;
[[Create-batch|create-batch 사용법으로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
== Storage Element, 데이터 저장장치 사용하기 ==&lt;br /&gt;
&lt;br /&gt;
=== Storage Element Tutorial ===&lt;br /&gt;
&lt;br /&gt;
[[Storage_Element_Tutorial| Storage Element Tutorial 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== xrootd 를 활용한 SE Data 사용 가이드 ===&lt;br /&gt;
&lt;br /&gt;
[[Xrootd| xrootd 를 활용한 SE Data 사용 가이드 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== dCache에서 WebDav 프로토콜 및 MACAROONS 인증 사용하기 ===&lt;br /&gt;
&lt;br /&gt;
[[WebDav| dCache에서 WebDav 프로토콜 및 MACAROONS 인증 사용하기 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== dcap 프로토콜을 이용하여 SE 사용하기 ===&lt;br /&gt;
&lt;br /&gt;
[[Dcap| dcap을 이용하여 SE 사용하기 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== CMS Dataset 전송을 위한 Rucio 사용법 ===&lt;br /&gt;
&lt;br /&gt;
[[Rucio| Rucio 사용법 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== WebFTS 사용법 ===&lt;br /&gt;
&lt;br /&gt;
[[Webfts| WebFTS 사용법 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
== 응용 소프트웨어 사용 ==&lt;br /&gt;
&lt;br /&gt;
=== CMSSW(CMS Software) Installation ===&lt;br /&gt;
&lt;br /&gt;
* CMSSW 을 설치하기 위해 먼저 설치 환경을 설정한다. &lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.csh&lt;br /&gt;
&lt;br /&gt;
bash shell을 사용한다면 &lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
&lt;br /&gt;
설치하고자 하는 버전의 CMSSW 를 확인한 후 개인 &amp;lt;working-directroy&amp;gt; 로 이동하여 설치한다. (x.y.z 는 버전을 나타낸다)&lt;br /&gt;
&lt;br /&gt;
 $ scramv1 list CMSSW&lt;br /&gt;
 $ cd &amp;lt;working-directory&amp;gt;&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_x_y_z&lt;br /&gt;
&lt;br /&gt;
===  CVMFS에 이미 설치되어 있는 소프트웨어 사용하기 ===&lt;br /&gt;
&lt;br /&gt;
==== CVMFS 에서 geant4 사용하기 ====&lt;br /&gt;
&lt;br /&gt;
[[Cvmfs_geant4|CVMFS 에서 geant4 사용하기 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
==== CVMFS 에서 root 사용하기 ====&lt;br /&gt;
&lt;br /&gt;
[[Cvmfs_root|CVMFS 에서 root 사용하기 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
==== CVMFS에서 원하는 버전의 gcc 사용하기 ====&lt;br /&gt;
&lt;br /&gt;
[[Cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
==== CVMFS SFT repository 사용법 ====&lt;br /&gt;
&lt;br /&gt;
[[SFT|CVMFS SFT repository 사용법 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== HPC를 위한 컨테이너 시스템 Singularity 사용법 ===&lt;br /&gt;
&lt;br /&gt;
[[Singularity|Singularity 사용법 페이지로 바로 가기]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3272</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3272"/>
		<updated>2026-01-28T06:57:34Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* How to use Tier-3 at KNU? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039; [[File:CMS-logo.gif|40px]] = &lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
== News &amp;amp; Notices ==&lt;br /&gt;
* &amp;lt;u&amp;gt;[[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.07.17&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;[[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2025.07.16&amp;lt;/u&amp;gt;&lt;br /&gt;
* [[HTCondorQueueInfo| HTCondor에 JobType(Queue)가 추가되었습니다.]] 2025.05.13&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Cvmfs_root|CVMFS 에서 root 사용하기 문서가 갱신 되었습니다.]] 2025.05.09&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.04.23&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.07.08&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/registration KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=How_to_use_Tier3_at_KNU&amp;diff=3271</id>
		<title>How to use Tier3 at KNU</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=How_to_use_Tier3_at_KNU&amp;diff=3271"/>
		<updated>2026-01-16T08:21:00Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Getting KNU Tier-3 Account */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-requisites ==&lt;br /&gt;
&lt;br /&gt;
KNU Tier-3를 이용하기 위해서는 Grid 환경에 접속하기 위한 인증서를 공식 인증 사이트를 통해 획득한 후 LCG VO에 등록하고 KNU Tier-3에 사용계획서 및 유저 등록을 통해 계정을 부여받는다.&lt;br /&gt;
&lt;br /&gt;
=== CERN 및 CMS User 등록 ===&lt;br /&gt;
  [[CERN_&amp;amp;_CMS_User_Registration|CERN &amp;amp; CMS User Registration]]&lt;br /&gt;
&lt;br /&gt;
=== VO(Virtual Organisation) 등록 ===&lt;br /&gt;
   CERN Certificate를 다운로드 받은 웹브라우저(인증서가 import 되어 있는)로&lt;br /&gt;
   [https://voms2.cern.ch:8443/voms/cms/register LCG CMS VO]에 접속하여 인증서를 등록. ([https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideLcgAccess#How_to_register_in_the_CMS_VO 참고: VO 등록방법 안내 자료])&lt;br /&gt;
   이메일등 신상 정보를 입력하고, role을 선택한 후 신청서를 제출하면, 담당자가 등록 결과를 이메일로 보내줌. [https://voms2.cern.ch:8443/voms/cms CMS VO 등록 여부 확인 홈페이지]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&#039;&#039;&#039;Getting KNU Tier-3 Account&#039;&#039;&#039;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039;1) [http://t2-cms.knu.ac.kr/registration/ KNU Account Registration 웹페이지]에서 신청서를 작성, 제출한다.&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;2) [http://t2-cms.knu.ac.kr/upload/Tier3_KR_KNU.hwp 사용계획서(hwp)]를 작성하여 e-mail(lcg_knu@knu.ac.kr)로 발송한다.&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039; 발급 받은 임시 비밀번호를 이용해 KNU Tier-3 UI에 접속합니다. (임시 비밀번호는 &amp;quot;passwd&amp;quot;명령을 이용하여 반드시 변경하십시오)&lt;br /&gt;
   &#039;&#039;&#039; &lt;br /&gt;
   &#039;&#039;&#039;$ ssh userid@kcms-t2.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039; &amp;lt;&amp;lt;Account 발급 전, 자주 하는 질문&amp;gt;&amp;gt;&lt;br /&gt;
   &#039;&#039; Q : 사용계획서는 왜 적어야 하나요?&lt;br /&gt;
   &#039;&#039;&#039; A : 사용계획서를 통하여 연구자들에게 필요한 전산 자원을 가늠하고 그에 따른 준비를 할 수 있습니다.&lt;br /&gt;
   &#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039; Q : CMS에서 처음 일하게 되어 전반적인 연구 내용을 잘 모릅니다. 신청서 내용 작성에 어려움이 많습니다. 어떻게 하면 좋을까요?&lt;br /&gt;
   &#039;&#039;&#039; A : CMS 신규 사용자의 경우 연구 내용을 잘 모를 수 있고, 컴퓨팅 자원에 대한 지식이 부족할 수 있습니다.&lt;br /&gt;
   &#039;&#039;&#039;     사용계획서 내의 예시를 보시고 작성하실 수 있는 부분을 간략히 적으시면 됩니다.&lt;br /&gt;
   &#039;&#039;&#039;     잘 모르는 부분은 빈란으로 두셔도 되지만, 가능하다면 연구실 선임께 여쭤보시는 방법도 좋습니다.&lt;br /&gt;
   &#039;&#039;&lt;br /&gt;
   &#039;&#039; Q : 연구 계획서에서 앞으로 사용할 (CPU, Disk) 사용량을 적어 냈는데요, 반드시 이 범위 내에서만 사용해야 하나요?&lt;br /&gt;
   &#039;&#039;&#039; A : 연구를 진행하시면서 연구 계획이 구체화되고 이에 따라 자원의 필요량이 증가하시면, Tier-3 연락처를 통해 미리 말씀해 주시면 필요한 자원의 할당을 준비해 드리겠습니다.&lt;br /&gt;
   &#039;&#039;&#039;     대량의 연구자원을 갑작스럽게 요청하시면 자원 할당에 시간이 다소 소요될 수 있습니다.&lt;br /&gt;
   &#039;&#039;&lt;br /&gt;
   &#039;&#039; Q : 초기에 제출한 전산자원 사용량을 초과하여 사용할 경우 불익이 있나요?&lt;br /&gt;
   &#039;&#039;&#039; A : 개인 용량을 다소 초과하셔도 불익은 없습니다. 다만 추가 사용량이 큰 경우 협의를 통해 조정하시기 바랍니다.&lt;br /&gt;
   &#039;&#039;&lt;br /&gt;
   &#039;&#039; Q : 연구의 내용이 확장되어 더 많은 자원을 필요로 합니다. 이런 경우 어떻게 해야 하나요?&lt;br /&gt;
   &#039;&#039;&#039; A : 연구계획 수정 내용을 추가로 작성/제출하시면 됩니다.&lt;br /&gt;
   &#039;&#039;&#039;     Tier-3 에서 보유하고 있는 여유 전산자원에 따라, 필요하신 자원의 준비에 다소 시간이 소요될 수 있으니 시간적 여유를 두시고 신청해 주시면 감사하겠습니다.&lt;br /&gt;
   &#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039; (기타 궁금하신 부분이 있으시면 언제든 연락 주시면 안내해 드리겠습니다.)&lt;br /&gt;
&lt;br /&gt;
=== Certificate ===&lt;br /&gt;
  [https://ca.cern.ch/ca/ CERN 인증서 웹사이트]에 접속하여 Certificate를 발급받는다.  &lt;br /&gt;
&lt;br /&gt;
  Certificate가 발급되면 인증서를 개인 PC 웹브라우저에 Import 한 후, &lt;br /&gt;
  Import된 인증서를 웹브라우저 설정 메뉴 중 Public key 관련탭에서 개인 PC로 Export할 수 있다. &lt;br /&gt;
  (인증서를 Export할 시 확장자는 &amp;quot;.Pfx&amp;quot;로 선택하시기 바랍니다.) &lt;br /&gt;
&lt;br /&gt;
  Export된 인증서 파일은 cms UI(cms.knu.ac.kr)의 본인 디렉토리에 복사한 후&lt;br /&gt;
  아래의 순서대로 인증서와 키를 만들어 .globus 디렉토리에 넣으시기 바랍니다.&lt;br /&gt;
   $ mkdir .globus&lt;br /&gt;
   $ openssl pkcs12 -in usercert.pfx -clcerts -nokeys -out .globus/usercert.pem&lt;br /&gt;
   $ openssl pkcs12 -in usercert.pfx -nocerts -out .globus/userkey.pem&lt;br /&gt;
   $ chmod 644 .globus/usercert.pem&lt;br /&gt;
   $ chmod 400 .globus/userkey.pem&lt;br /&gt;
&lt;br /&gt;
== KNU Tier-3 Login ==&lt;br /&gt;
&lt;br /&gt;
=== KNU UI 현황 ===&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   대표 Hostname  !! 세부 Hostname !! OS !! 접속방법 !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! kcms-t2.knu.ac.kr&lt;br /&gt;
| cms.knu.ac.kr&lt;br /&gt;
| Alma Linux 9 &lt;br /&gt;
| ssh,mosh,x2go,jupyterhub&lt;br /&gt;
| Tier3  UI, HTCondor&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
! kcms-t2.knu.ac.kr&lt;br /&gt;
| cms01.knu.ac.kr&lt;br /&gt;
| Alma Linux 9&lt;br /&gt;
| ssh,mosh,x2go&lt;br /&gt;
| Tier3 UI, HTCondor&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! kcms-t3.knu.ac.kr&lt;br /&gt;
| cms02.knu.ac.kr&lt;br /&gt;
| Alma Linux 9 &lt;br /&gt;
| ssh,mosh,x2go&lt;br /&gt;
| Tier3 UI, HTCondor&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
! kcms-t3.knu.ac.kr&lt;br /&gt;
| cms03.knu.ac.kr&lt;br /&gt;
| Alma Linux 9 &lt;br /&gt;
| ssh,mosh,x2go&lt;br /&gt;
| Tier3 U, HTCondor &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ssh ===&lt;br /&gt;
&lt;br /&gt;
==== Linux에서 ssh로 UI에 접속하기 ====&lt;br /&gt;
 터미널을 열어서 원격로그인(SSH)으로 접속한다. &lt;br /&gt;
 $ ssh -X username@kcms-t2.knu.ac.kr( or username@cms.knu.ac.kr, username@cms01.knu.ac.kr)&lt;br /&gt;
 $ ssh -X username@kcms-t3.knu.ac.kr( or username@cms02.knu.ac.kr, username@cms03.knu.ac.kr)&lt;br /&gt;
&lt;br /&gt;
==== Windows OS에서 ssh로 UI에 접속하기 ====&lt;br /&gt;
 Windows OS 에서 linux 서버로 접속하려면 원격 로그인을 사용할 수 있는 특정 프로그램이 필요하다.&lt;br /&gt;
    예) [http://www.chiark.greenend.org.uk/~sgtatham/putty/ &#039;&#039;&#039;Putty&#039;&#039;&#039;(무료)], &#039;&#039;&#039;SSH Secure Shell Client&#039;&#039;&#039; (프리웨어 또는 정식 서비스를 찾아 설치가능) - [[SSH_Secure_Shell_Client_의_경우|SSH Secure Shell Client 예시 화면]]&lt;br /&gt;
 또한, Event display 및 ROOT을 사용하기 위해서는 다음과 같은 X 서버를 별도로 설치하여야 한다.&lt;br /&gt;
    예) [http://sourceforge.net/projects/xming/ &#039;&#039;&#039;Xming&#039;&#039;&#039;(무료)], [http://x.cygwin.com/screenshots/ &#039;&#039;&#039;Cygwin/X&#039;&#039;&#039;(무료)], &#039;&#039;&#039;Hummingbird&#039;&#039;&#039;(유료), &#039;&#039;&#039;Xmanager&#039;&#039;&#039;(유료)&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;패스워드 변경&amp;lt;/u&amp;gt; ====&lt;br /&gt;
* 첫 로그인 후 개인 Password 및 shell 설정시 유의사항&lt;br /&gt;
1) 패스워드 변경시 passwd 명령을 사용.&lt;br /&gt;
 $ passwd&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : 비밀번호 변경은 더이상 yppasswd 명령을 사용하지 않습니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;u&amp;gt;패스워드의 생성 &amp;lt;br&amp;gt;&lt;br /&gt;
- 패스워드는 최소 12자리의 알파벳 대소문자, 숫자, 특수문자 의 조합으로 만들어야 합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
- 패스워드의 유효기간은 1년이며 유효기간이 지나기전에 새로운 패스워드로 변경해야합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
- 패스워드 유효기간 만료일이 다가오면 안내 메일이 자동으로 발송됩니다. 유효기간이 지나면 3일후 계정은 자동으로 잠깁니다.&amp;lt;br&amp;gt;&lt;br /&gt;
- 지난번에 사용한 패스워드는 다시 사용할 수 없습니다. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;기본 shell 변경&amp;lt;/u&amp;gt; ====&lt;br /&gt;
* &amp;lt;u&amp;gt;계정이 발급되었을때 처음 기본 쉘은 bash 입니다. 기본 shell의 변경은 chsh.sh 명령을 이용하여 tcsh 혹은 zsh 등의 자신이 선호하는 shell로 변경할 수 있습니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
 $ chsh.sh /bin/tcsh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : shell 변경은 더이상 chsh 명령을 사용하지 않습니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ssh public key authentication ====&lt;br /&gt;
&lt;br /&gt;
[[Ssh_Public_key_Authentication| public key 인증방법으로 안전하 편리한 ssh 사용하기 페이지로 이동]]&lt;br /&gt;
&lt;br /&gt;
=== ssh 보다 편리한 mosh ===&lt;br /&gt;
&lt;br /&gt;
* [[mosh|mosh 소개 및 사용법]]&lt;br /&gt;
&lt;br /&gt;
=== 원격 데스크탑 접속이 필요하다면 x2go ===&lt;br /&gt;
&lt;br /&gt;
* [[x2go|x2go를 이용한 원격데스크탑 가이드]]&lt;br /&gt;
&lt;br /&gt;
=== JupyterHub  ===&lt;br /&gt;
&lt;br /&gt;
* [[JupyterHub|JupyterHub 사용법 ]]&lt;br /&gt;
&lt;br /&gt;
== Computing Element, 연산 자원 사용하기 ==&lt;br /&gt;
&lt;br /&gt;
=== Grid 작업을 위한 CRAB Tutorial ===&lt;br /&gt;
&lt;br /&gt;
* [[crab | Crab tutorial 항목을 참고하세요. ]]&lt;br /&gt;
   &lt;br /&gt;
=== 배치 작업(HTCondor) 실행하기 ===&lt;br /&gt;
[[HTCondor|HTCondor Batch System 사용법 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 GPU 사용하기 ===&lt;br /&gt;
[[HTCondorGPU|HTCondor에서 GPU 사용하기 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용하기 ===&lt;br /&gt;
[[Create-batch|create-batch 사용법으로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
== Storage Element, 데이터 저장장치 사용하기 ==&lt;br /&gt;
&lt;br /&gt;
=== Storage Element Tutorial ===&lt;br /&gt;
&lt;br /&gt;
[[Storage_Element_Tutorial| Storage Element Tutorial 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== xrootd 를 활용한 SE Data 사용 가이드 ===&lt;br /&gt;
&lt;br /&gt;
[[Xrootd| xrootd 를 활용한 SE Data 사용 가이드 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== dCache에서 WebDav 프로토콜 및 MACAROONS 인증 사용하기 ===&lt;br /&gt;
&lt;br /&gt;
[[WebDav| dCache에서 WebDav 프로토콜 및 MACAROONS 인증 사용하기 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== dcap 프로토콜을 이용하여 SE 사용하기 ===&lt;br /&gt;
&lt;br /&gt;
[[Dcap| dcap을 이용하여 SE 사용하기 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== CMS Dataset 전송을 위한 Rucio 사용법 ===&lt;br /&gt;
&lt;br /&gt;
[[Rucio| Rucio 사용법 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== WebFTS 사용법 ===&lt;br /&gt;
&lt;br /&gt;
[[Webfts| WebFTS 사용법 페이지로 가기]]&lt;br /&gt;
&lt;br /&gt;
== 응용 소프트웨어 사용 ==&lt;br /&gt;
&lt;br /&gt;
=== CMSSW(CMS Software) Installation ===&lt;br /&gt;
&lt;br /&gt;
* CMSSW 을 설치하기 위해 먼저 설치 환경을 설정한다. &lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.csh&lt;br /&gt;
&lt;br /&gt;
bash shell을 사용한다면 &lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
&lt;br /&gt;
설치하고자 하는 버전의 CMSSW 를 확인한 후 개인 &amp;lt;working-directroy&amp;gt; 로 이동하여 설치한다. (x.y.z 는 버전을 나타낸다)&lt;br /&gt;
&lt;br /&gt;
 $ scramv1 list CMSSW&lt;br /&gt;
 $ cd &amp;lt;working-directory&amp;gt;&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_x_y_z&lt;br /&gt;
&lt;br /&gt;
===  CVMFS에 이미 설치되어 있는 소프트웨어 사용하기 ===&lt;br /&gt;
&lt;br /&gt;
==== CVMFS 에서 geant4 사용하기 ====&lt;br /&gt;
&lt;br /&gt;
[[Cvmfs_geant4|CVMFS 에서 geant4 사용하기 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
==== CVMFS 에서 root 사용하기 ====&lt;br /&gt;
&lt;br /&gt;
[[Cvmfs_root|CVMFS 에서 root 사용하기 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
==== CVMFS에서 원하는 버전의 gcc 사용하기 ====&lt;br /&gt;
&lt;br /&gt;
[[Cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
==== CVMFS SFT repository 사용법 ====&lt;br /&gt;
&lt;br /&gt;
[[SFT|CVMFS SFT repository 사용법 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== HPC를 위한 컨테이너 시스템 Singularity 사용법 ===&lt;br /&gt;
&lt;br /&gt;
[[Singularity|Singularity 사용법 페이지로 바로 가기]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 기타 ==&lt;br /&gt;
&lt;br /&gt;
=== 부가 서비스 ===&lt;br /&gt;
&lt;br /&gt;
====  T3_KR_KNU 모니터링 - grafana ====&lt;br /&gt;
&lt;br /&gt;
* https://chep17.knu.ac.kr:3003/&lt;br /&gt;
* T3_KR_KNU Status: HTCondor Status, Storage Status&lt;br /&gt;
* HTCondor Job History: 사용자의 HTCondor 작업 모니터링, CPU Efficiency, RequestMemory - JobMemoryUsage, Job Running Time 등&lt;br /&gt;
* Network Status: 네트워크 사용 현황&lt;br /&gt;
* Storage Status: 사용자 및 사용자 그룹의 스토리지 이용 현황&lt;br /&gt;
* UI Status : UI 시스템 현황&lt;br /&gt;
* Tier3 통합인증&lt;br /&gt;
&lt;br /&gt;
====  GitLab ====&lt;br /&gt;
&lt;br /&gt;
* https://githep.knu.ac.kr:4443/&lt;br /&gt;
* git 버전관리 서비스&lt;br /&gt;
* Tier3 통합인증&lt;br /&gt;
&lt;br /&gt;
====  &amp;lt;u&amp;gt;Mattermost&amp;lt;/u&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
* https://mm.knu.ac.kr/&lt;br /&gt;
* 업무용 메신저 서비스&lt;br /&gt;
* Tier3 통합인증, 자체인증&lt;br /&gt;
* [[Mattermost|Mattermost 이용방법]]&lt;br /&gt;
&lt;br /&gt;
=== Q &amp;amp; A ===&lt;br /&gt;
&lt;br /&gt;
[[Q%26A|Q &amp;amp; A 페이지로 바로 가기]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=MediaWiki:Sidebar&amp;diff=3270</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=MediaWiki:Sidebar&amp;diff=3270"/>
		<updated>2026-01-16T08:20:14Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** News &amp;amp; Notices|News &amp;amp; Notices&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** helppage|help&lt;br /&gt;
&lt;br /&gt;
* How to use T3_KR_KNU?&lt;br /&gt;
**How_to_use_Tier3_at_KNU|How to use T3_KR_KNU?&lt;br /&gt;
**How_to_use_Tier3_at_KNU#Pre-requisites|Pre-requisites&lt;br /&gt;
**How_to_use_Tier3_at_KNU#KNU_Tier-3_Login|KNU_Tier3 Login&lt;br /&gt;
**How_to_use_Tier3_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation&lt;br /&gt;
**crab|Crab Tutorial&lt;br /&gt;
**Storage_Element_Tutorial|Storage Element Tutorial&lt;br /&gt;
**Q&amp;amp;A|Q&amp;amp;A&lt;br /&gt;
**https://t2-cms.knu.ac.kr/registration/ | KNU Account Registration&lt;br /&gt;
&lt;br /&gt;
* Additional Services&lt;br /&gt;
** https://chep17.knu.ac.kr:3003 | T3_KR_KNU Status&lt;br /&gt;
** https://githep.knu.ac.kr:4443 | Gitlab Service&lt;br /&gt;
** https://mm.knu.ac.kr | Mattermost Service&lt;br /&gt;
** https://indico.knu.ac.kr | 경북대 물리학과 Indico&lt;br /&gt;
** https://indico.kno.or.kr | KNO Indico&lt;br /&gt;
&lt;br /&gt;
* Useful Links&lt;br /&gt;
** https://monit-grafana.cern.ch/d/cmsTMDetail/cms-task-monitoring-task-view/ | Task monitoring for the analysis users&lt;br /&gt;
** https://cmsweb.cern.ch/das/ | Data Aggregation System&lt;br /&gt;
** https://twiki.cern.ch/twiki/bin/viewauth/CMS/Rucio | Rucio&lt;br /&gt;
** https://cms-rucio-webui.cern.ch/ | CMS Rucio WebUI&lt;br /&gt;
** https://cms-rucio-webui.cern.ch/r2d2/request | Rucio Request Rule&lt;br /&gt;
** http://cms-cric.cern.ch/ | CMS CRIC&lt;br /&gt;
&lt;br /&gt;
* Monitoring Tools&lt;br /&gt;
** https://monit-grafana.cern.ch/ | CMS Monitoring Project&lt;br /&gt;
&lt;br /&gt;
* Documents&lt;br /&gt;
** https://edms.cern.ch/file/722398/1.2/gLite-3-UserGuide.pdf | LCG User Guide&lt;br /&gt;
** https://edms.cern.ch/cedar/plsql/doc.info?document_id=428036  | Grid Acceptable Use Policy&lt;br /&gt;
&lt;br /&gt;
* Related Projects&lt;br /&gt;
** http://wlcg.web.cern.ch | LHC Computing Grid&lt;br /&gt;
** http://cms.web.cern.ch | CMS Experiment&lt;br /&gt;
** http://www.cms-kr.org | Korea CMS&lt;br /&gt;
&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3105</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3105"/>
		<updated>2024-03-11T06:20:49Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039;  &amp;lt;img src=&amp;quot;http://t2-cms.knu.ac.kr/img/CMS-logo.gif&amp;quot; width=25&amp;gt;  =&lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
==News &amp;amp; Notices==&lt;br /&gt;
* [[HTCondor| &amp;lt;u&amp;gt;HTCondor 사용법 문서가 갱신 되었습니다.&amp;lt;/u&amp;gt;]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/lcg_registration.php KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3104</id>
		<title>News &amp; Notices</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3104"/>
		<updated>2024-03-11T06:19:59Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Notices ==&lt;br /&gt;
* [[HTCondor| &amp;lt;u&amp;gt;HTCondor 사용법 문서가 갱신 되었습니다.&amp;lt;/u&amp;gt;]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[Uberftp|uberftp에 치명적인 버그가 있습니다. 사용에 주의하세요]] 2021.05.17&lt;br /&gt;
* [[HTCondorGPU|HTCondor에서 GPU 사용법 문서가 추가되었습니다.]] 2021.05.12&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 갱신되었습니다.]] 2021.03.31&lt;br /&gt;
* [[mosh|mosh  가이드가 등록되었습니다.]] 2021.03.17&lt;br /&gt;
* [[x2go|x2go를 이용한 원격데스크탑 가이드가 등록되었습니다.]] 2021.03.11&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 갱신되었습니다.]] 2021.03.05&lt;br /&gt;
* [[HTCondor에서 GPU 사용하기]] 2021.03.04&lt;br /&gt;
* [[Duc|자신의 디스크 사용량을 쉽게 확인할 수 있는 툴을 소개합니다.]] 2020.11.05&lt;br /&gt;
* [[CreamCE/SL6 서비스 종료]] 2020.10.15&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 작성중입니다.]] 2020.07.30&lt;br /&gt;
* [[CreamCE/Torque → HTCondorCE/HTCondor 이전 안내]] 2020.07.23&lt;br /&gt;
* 스토리지 엘리먼트가 1.45PB로 증가하였습니다.  2020.06.26&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 갱신 되었습니다.]] 2020.03.20&lt;br /&gt;
* [[Scratch Disk가 교체 및 증설 안내]] 2020.02.10&lt;br /&gt;
* [[Notion|Notion 문서를 추가하였습니다.]] 2019.09.20&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2019.08.30&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.12.10&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 추가 되었습니다.]] 2018.12.03&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 추가 되었습니다.]] 2018.11.08&lt;br /&gt;
* [[torque|Torque 사용법 문서가 갱신 되었습니다.]] 2018.10.15&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.08.31&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm에 큰 메모리를 사용하는 작업 전용의 queue를 추가하였습니다.]] 2018.07.13&lt;br /&gt;
* [[T2_KR_KNU_Decommissioned| 경북대 Tier2 서비스는 4월 30일자로 종료되고 해당자원은 Tier3로 통합됩니다.]] 2018.04.18&lt;br /&gt;
* cms03이 SL6로 업그레이드되었습니다. 2018.01.16&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2017.11.22&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 별도 분리되었습니다.]] 2017.11.22&lt;br /&gt;
* 스토리지 엘리먼트가 1.29PB로 증가하였습니다.  2017.10.12&lt;br /&gt;
* [[crab|Crab Tutorial을 업데이트 하였습니다.]] 2017.06.29&lt;br /&gt;
* [[Storage_Element_Tutorial#xrootd_.EB.A5.BC_.ED.99.9C.EC.9A.A9.ED.95.9C_SE_Data_.EC.A0.91.EA.B7.BC_.EB.B0.A9.EB.B2.95|Storage Element Tutorial에서 xrootd 관련 항목이 업데이트 되었습니다.]] 2017.06.15&lt;br /&gt;
* [[Webfts|WebFTS 사용법 항목이 추가되었습니다.]] 2017.04.14&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2016.12.06&lt;br /&gt;
* 스토리지 엘리먼트가 1.2PB로 증가하였습니다.  2016.12.05&lt;br /&gt;
* [[Task_monitoring_for_the_analysis_users|Analysis 사용자를 위한 작업 모니터링 가이드가 추가되었습니다.]] 2016.10.19&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드가 갱신되었습니다.]] 2016.10.07&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 추가되었습니다.]] 2016.10.06&lt;br /&gt;
* 스토리지 엘리먼트가 1PB로 증가하였습니다.  2016.08.10&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트를 UI에서 NFS로 바로 읽을 수 있습니다.]] 2016.07.19&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm의 queue에 대한 세부정보를 업데이트 하였습니다.]] 2016.02.12&lt;br /&gt;
* [[Motd|Tier2/3 UI motd(Message of the Day)에서 스토리지 엘리먼트를 비롯한 디스크 사용량을 확인할수 있습니다.]] 2015.12.28&lt;br /&gt;
* [[Ssh_Public_key_Authentication|보다 안전하고 편리한 ssh 공개키 인증 사용법 항목이 추가 되었습니다.]] 2015.12.28&lt;br /&gt;
* [[Create-batch|create-batch 사용법 항목이 추가 되었습니다.]] 2015.12.21&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[torque|Torque 사용법 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[crab|Crab Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[Q&amp;amp;A|Q&amp;amp;A 항목이 추가 되었습니다.]] 2015.10.12&lt;br /&gt;
* [[uberftp | uberftp 사용법 항목이 추가되었습니다.]] 2015.10.12 &lt;br /&gt;
* T2_KR_KNU 홈페이지가 리뉴얼 되었습니다. 2015.10.12&lt;br /&gt;
* [https://indico.cern.ch/event/386181/ 2015 CMS DAS (Data Analysis School) at Korea가 개최되었습니다.] 2015.08.25~29&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3103</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3103"/>
		<updated>2024-03-11T06:19:00Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* condor_q */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;condor_q&amp;lt;/u&amp;gt; ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;condor_wait&amp;lt;/u&amp;gt; ==== &lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;condor_tail&amp;lt;/u&amp;gt; ====&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;condor_ssh_to_job&amp;lt;/u&amp;gt; ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;condor_history&amp;lt;/u&amp;gt; ====&lt;br /&gt;
종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3102</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3102"/>
		<updated>2024-03-11T06:18:38Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* HTCondor Batch System 사용법 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;condor_wait&amp;lt;/u&amp;gt; ==== &lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;condor_tail&amp;lt;/u&amp;gt; ====&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;condor_ssh_to_job&amp;lt;/u&amp;gt; ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;u&amp;gt;condor_history&amp;lt;/u&amp;gt; ====&lt;br /&gt;
종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3101</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3101"/>
		<updated>2024-03-11T05:59:54Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Job 상태 확인 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== condor_tail ====&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
==== condor_ssh_to_job ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
==== condor_history ====&lt;br /&gt;
종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3100</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3100"/>
		<updated>2024-03-11T05:59:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* condor_ssh_to_job */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
&lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== condor_tail ====&lt;br /&gt;
&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
==== condor_ssh_to_job ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
==== condor_history ====&lt;br /&gt;
&lt;br /&gt;
이미 종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3099</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3099"/>
		<updated>2024-03-11T05:59:07Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* condor_ssh_to_job */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
&lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== condor_tail ====&lt;br /&gt;
&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
==== condor_ssh_to_job ====&lt;br /&gt;
&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
==== condor_history ====&lt;br /&gt;
&lt;br /&gt;
이미 종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3098</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3098"/>
		<updated>2024-03-11T05:58:51Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* condor_ssh_to_job */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
&lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== condor_tail ====&lt;br /&gt;
&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
==== condor_ssh_to_job ====&lt;br /&gt;
&lt;br /&gt;
 condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
==== condor_history ====&lt;br /&gt;
&lt;br /&gt;
이미 종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3097</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3097"/>
		<updated>2024-03-11T05:57:25Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* condor_wait */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
&lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== condor_tail ====&lt;br /&gt;
&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
==== condor_ssh_to_job ====&lt;br /&gt;
&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
==== condor_history ====&lt;br /&gt;
&lt;br /&gt;
이미 종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3096</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3096"/>
		<updated>2024-03-11T05:57:00Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Job 상태 확인 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
&lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적합니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== condor_tail ====&lt;br /&gt;
&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
==== condor_ssh_to_job ====&lt;br /&gt;
&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
==== condor_history ====&lt;br /&gt;
&lt;br /&gt;
이미 종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3095</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3095"/>
		<updated>2024-03-11T05:12:34Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Job 상태 확인 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== condor_tail ====&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3094</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3094"/>
		<updated>2024-03-11T05:12:17Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* condor_q */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== condor_tail ====&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3093</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3093"/>
		<updated>2024-03-11T05:11:15Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Job 상태 확인 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
==== condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=DCacheNFS&amp;diff=3092</id>
		<title>DCacheNFS</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=DCacheNFS&amp;diff=3092"/>
		<updated>2024-02-15T08:43:16Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* NFS를 이용한 연산노드의 접근 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UI에서 NFS로 마운트된 스토리지 엘리먼트 사용하기 ==&lt;br /&gt;
&lt;br /&gt;
=== NFS 마운트 정보 ===&lt;br /&gt;
* 현재 UI (cms, cms01, cms02, cms03)에서만 nfs로 마운트 되어 있습니다. 연산노드에서는 사용할 수 없습니다.&lt;br /&gt;
* 읽기 쓰기가 가능합니다만, 프로그램을 설치하여 사용하는 것은 적절하지 않습니다. &lt;br /&gt;
* 사용자 홈디렉토리 경로는 /pnfs/knu.ac.kr/data/cms/store/user/(사용자ID) 입니다.&lt;br /&gt;
* UI의 홈디렉토리에 심볼릭 링크로 연결한 SE_UserHome을 사용하면 위의 경로를 쉽게 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== dCache NFS에서 지원하지 않는 것 ===&lt;br /&gt;
* 기본적으로 NFS로 마운트된 스토리지 엘리먼트는 로컬 디스크처럼 사용할 수 있지만 다음의 사항을 주의해야 합니다.&lt;br /&gt;
* dCache의 nfs에서는 덮어쓰기 및 덧붙이기를 지원하지 않습니다.&lt;br /&gt;
 $ echo 123 &amp;gt; test.file&lt;br /&gt;
 $ echo 1234 &amp;gt; test.file&lt;br /&gt;
 -bash: test.file: Permission denied&lt;br /&gt;
 $&lt;br /&gt;
 $ echo 1234 &amp;gt;&amp;gt; test.file&lt;br /&gt;
 -bash: test.file: Permission denied&lt;br /&gt;
&lt;br /&gt;
* 파일 삭제시 다음과 같이 경고가 뜹니다만 정상적으로 삭제가 됩니다.  &lt;br /&gt;
* 파일 삭제는 복구가 불가능하므로 항상 주의해서 삭제해주시기 바랍니다. &lt;br /&gt;
&lt;br /&gt;
 $ rm test.file&lt;br /&gt;
 rm: remove write-protected regular file `test.file&#039;? y&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
=== 읽기 쓰기 속도 ===&lt;br /&gt;
&lt;br /&gt;
* nfs를 이용한 읽고 쓰기는 다음에서 보듯이 dccp (dcap)나 다른 프로토콜(srm)에 비해 상대적으로 느립니다. 따라서 큰 파일의 복사는 dccp나 gfal-copy 등을 이용하는 것이 더 좋습니다.&lt;br /&gt;
 $ time cp -av /pnfs/knu.ac.kr/data/cms/tmp/test.transfer .&lt;br /&gt;
 `/pnfs/knu.ac.kr/data/cms/tmp/test.transfer&#039; -&amp;gt; `./test.transfer&#039;&lt;br /&gt;
 &lt;br /&gt;
 real    0m2.027s&lt;br /&gt;
 user    0m0.002s&lt;br /&gt;
 sys     0m0.019s&lt;br /&gt;
&lt;br /&gt;
 $ time dccp -H dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/tmp/test.transfer .&lt;br /&gt;
 [###################################################################################################################] 100% 4.78 MiB&lt;br /&gt;
 5008283 bytes (4.78 MiB) in 0 seconds&lt;br /&gt;
 &lt;br /&gt;
 real    0m1.042s&lt;br /&gt;
 user    0m0.016s&lt;br /&gt;
 sys     0m0.023s&lt;br /&gt;
&lt;br /&gt;
=== NFS를 이용한 연산노드의 접근 ===&lt;br /&gt;
&lt;br /&gt;
* 연산 노드에서 NFS 로 읽기 쓰기가 가능합니다. 따라서 별다른 수정없이 로컬 디스크처럼 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 스토리지 이용현황 ===&lt;br /&gt;
&lt;br /&gt;
* du 명령어를 이용해서 자신의 스토리지 엘리먼트의 이용현황을 쉽게 확인할 수 있습니다.&lt;br /&gt;
 $ /usr/bin/du -h --si --max-depth=1 /pnfs/knu.ac.kr/data/cms/store/user/MyID/&lt;br /&gt;
 931M    /pnfs/knu.ac.kr/data/cms/store/user/MyID/CMSSW_1_6_12&lt;br /&gt;
 44M     /pnfs/knu.ac.kr/data/cms/store/user/MyID/test&lt;br /&gt;
 1.6G    /pnfs/knu.ac.kr/data/cms/store/user/MyID/result&lt;br /&gt;
 46M     /pnfs/knu.ac.kr/data/cms/store/user/MyID/test2&lt;br /&gt;
 512     /pnfs/knu.ac.kr/data/cms/store/user/MyID/test3&lt;br /&gt;
 5.3G    /pnfs/knu.ac.kr/data/cms/store/user/MyID/&lt;br /&gt;
&lt;br /&gt;
* df 명령어에서 나오는 사용량과 여유공간은 잘못된 정보입니다. 정확한 정보 확인을 위해서는 knuinfo 명령을 사용해주세요.&lt;br /&gt;
&lt;br /&gt;
 $ df -h&lt;br /&gt;
 Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
 ...&lt;br /&gt;
 cluster142:/pnfs      1.0E  670T  1.0E   1% /pnfs&lt;br /&gt;
&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 ...&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
  Avail Space(kB)  Used Space(kB)  Type 	SE&lt;br /&gt;
      94090095292    738575214383  SRM  	cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3091</id>
		<title>Storage Element Tutorial</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3091"/>
		<updated>2024-02-15T08:41:57Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 서비스별 스토리지 접근 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Storage Element Tutorial ==&lt;br /&gt;
CRAB 등을 사용하여 얻은 데이터를 보관할 수 있는 저장 공간을 Storage Element (SE)라 합니다.&lt;br /&gt;
이곳에 데이터를 저장하기 위해서는 몇가지 특수한 명령어를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : tcsh, csh 등 에서 관련 명령어를 사용할 때, 경로 인자에 반드시 &amp;quot; &amp;quot; 를 사용해주시기 바랍니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
UI에 로그인 했을 때 일반 사용자가 읽고 쓸수 있는 저장공간은 다음과 같이 3가지 종류가 있습니다.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  종류  !! 경로 !! 지원 프로토콜 !! 총용량 !! 사용자당 !! 용도 !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI 사용자 홈&lt;br /&gt;
| &lt;br /&gt;
* /u/user/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 20 TB&lt;br /&gt;
| 200 GB&lt;br /&gt;
| 프로그램 설치&amp;lt;br&amp;gt;사용자 기본 작업공간&lt;br /&gt;
| RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| SE 사용자홈&lt;br /&gt;
| &lt;br /&gt;
* xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}/&amp;lt;br&amp;gt;&lt;br /&gt;
* webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* srm: srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* dcap: dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsidcap: gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| xrootd, webdav,&amp;lt;br&amp;gt;srm, gsiftp, &amp;lt;br&amp;gt;dcap, gsidcap,&amp;lt;br&amp;gt; nfs &lt;br /&gt;
| 1.45 PB&lt;br /&gt;
| 10 TB&lt;br /&gt;
| 데이터 보관&amp;lt;br&amp;gt;대용량데이터처리&amp;lt;br&amp;gt;프로그램설치X&lt;br /&gt;
| dCache, RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| 스크레치&lt;br /&gt;
| &lt;br /&gt;
* /d0/scratch&amp;lt;br&amp;gt;&lt;br /&gt;
* /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 40 TB&lt;br /&gt;
|  &lt;br /&gt;
| 임시 작업용&amp;lt;BR&amp;gt;중요데이터 보관X &lt;br /&gt;
| RAID6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* x509인증이 토큰 인증으로 전환되고 있는 상황이라 srm 프로토콜은 gsiftp, xrootd, webdav 프로토콜로 대체되고 있습니다.&lt;br /&gt;
* dcap(dCache access protocol): 인증이 필요없는 읽기 전용의 프로토콜입니다. 인증이 필요없기에 간편하게 사용할수 있지만 경북대 내부에서만 사용할수 있습니다.&lt;br /&gt;
* gsidcap: 그리드 인증이 필요한 dcap 프로토콜입니다. 읽기 쓰기가 모두 가능하며 경북대 내외부에서 모두 사용할 수 있습니다.&lt;br /&gt;
* SE에 저장되어 있는 데이터셋은 연산노드에서 dcap, xrootd, gsiftp, nfs, wedav, srm 프로토콜을 이용하여 읽을 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
* CERN ID와 KNU ID가 다른 사용자는 SE 사용자 홈디렉토리에 CERN ID를 기준으로 디렉토리가 생성됩니다.&lt;br /&gt;
* {knu_id}는 경북대에서 발급받은 ID, {cern_id}는 CERN에서 발급 받은 ID를 의미합니다. 일부 사용자들은 두 ID가 일치 하지 않습니다.  &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;경북대 계정 신청시 CERN ID가 없는 사용자는 계정발급 직후 SE 사용자 홈디렉토리가 생성되지 않습니다. CERN ID를 발급 받은 후에 별도로 연락주세요.&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
* 현재는 저장공간의 사용자당 최대 사용량이 시스템적으로 설정되어 있지는 않습니다. 그러나 원활한 이용을 위하여 초과해서 사용이 필요한 경우에는 사전에 관리자와 협의를 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;저장공간이 부족해질 경우 개인 사용량을 초과하는 사용자를 대상으로 사용햐지 않는 데이터의 정리를 요청하고 있습니다. 삭제요청과 함께 혹시라도 데이터가 방치되고 있지는 않은지 확인하는 작업입니다.  파일의 삭제 가능 여부와 상관없이 반드시 답장을 해주시기 바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 스크레치 저장공간은 불필요한 데이터를 수시로 정리해주시고 장기 보관이 필요한 데이터는 SE로 이동 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;스크레치 디스크는 임시작업용 저장공간입니다. 데이터 손실에 대한 안전장치가 전혀 없으므로 절대 데이터 보관용으로 사용해서는 안됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;매월 28일 90일이 지난 스크레치 디스크의 데이터는 자동으로 삭제됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 서비스별 스토리지 접근 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  서비스  !! 스토리지 !! 지원 프로토콜 !! 경로 !! Grid인증 !!  비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | UI&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srm&lt;br /&gt;
| srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsiftp&lt;br /&gt;
| gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | HTCondor&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srm&lt;br /&gt;
| srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsiftp&lt;br /&gt;
| gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;u&amp;gt;해당 경로를 찾을 수 없다면 관리자에게 문의해 주시기 바랍니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;HTcondor 에서 SE에 nfs로 연결됨에 따라 dcap 이나 xrootd 와 같은 별다른 프로토콜 사용 없이 직접적으로 SE의 데이터를 읽고 쓸 수 있습니다. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== voms 인증  ===&lt;br /&gt;
* SE는 voms 인증 후 사용할수 있습니다. &lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
&lt;br /&gt;
=== voms 인증 정보 확인  ===&lt;br /&gt;
* voms 인증 정보는 다음 명령어로 확인할 수 있습니다. &lt;br /&gt;
 $ voms-proxy-info --all&lt;br /&gt;
 voms-proxy-info --all&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong/CN=00000000&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 identity  : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 type      : RFC3820 compliant impersonation proxy&lt;br /&gt;
 strength  : 1024&lt;br /&gt;
 path      : /tmp/x509up_u77420&lt;br /&gt;
 timeleft  : 11:59:52&lt;br /&gt;
 key usage : Digital Signature, Key Encipherment&lt;br /&gt;
 === VO cms extension information ===&lt;br /&gt;
 VO        : cms&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch&lt;br /&gt;
 attribute : /cms/Role=NULL/Capability=NULL&lt;br /&gt;
 timeleft  : 11:59:54&lt;br /&gt;
 uri       : voms2.cern.ch:15002&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;주의해야할 부분은 VO cms extension information 부분입니다. 만약 VO cms extension information 부분이 출력되지 않는다면 --voms cms 옵션을 정확하게 입력하였는지 자신의 cms vo가 만료된건 아닌지 확인 해야합니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU의 Computing Resource 실시간 조회하기 (CPU, Disk 자원 조회) ===&lt;br /&gt;
&lt;br /&gt;
* UI 에서 &amp;quot;knuinfo&amp;quot; 명령어를 실행합니다.&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 $&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
     CPU	   Free	Total Jobs	Running	Waiting	ComputingElement&lt;br /&gt;
    1328	    571	       253	    157	      0	ce01.knu.ac.kr:9619/ce01.knu.ac.kr-condor&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
  Avail Space(kB)  Used Space(kB)  Type 	SE&lt;br /&gt;
     369726007282   1076716332991  SRM  	cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
=== SE(Storage Element)의 사용자 디렉토리 경로 ===&lt;br /&gt;
 $ srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ dcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;참고사항: &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 위의 예시에서 username은 향후 data를 publish 할 경우를 대비하서 경북대 ID가 아니라 CERNID를 사용해야 합니다. &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 계정을 발급받을 당시에 cern id가 없는 사용자는 해당 경로가 생성되지 않습니다.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 만약에 cern id가 있는데도 불구하고 본인의 디렉토리가 만들어져 있지 않는 경우에는 관리자에게 연락바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에서 SE로 파일 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에 있는 파일을 및 local 디렉토리로 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
=== xrootd 를 활용한 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
*  [[Xrootd|xrootd 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;WebDav 프로토콜을 활용한 SE Data 접근 방법&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== dcap을 이용한 SE Data 접근 방법 ===&lt;br /&gt;
*  [[Dcap|dcap 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== UI에서 NFS로 마운트된 스토리지 엘리먼트 사용하기 ===&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드]]&lt;br /&gt;
&lt;br /&gt;
=== root에서 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
* dcap 프로토콜을 이용&lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* xrootd 프로토콜을 이용 &lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
=== 복수의 파일을 동시에 전송하기 ===&lt;br /&gt;
 $ /usr/local/bin/lcgcp_copyfiles list.txt&lt;br /&gt;
&lt;br /&gt;
 $ cat  list.txt &lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy1 file:///localdir/sh1&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy2 file:///localdir/sh2&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy3 file:///localdir/sh3&lt;br /&gt;
* lcg_cp는 기본적으로 복수파일 전송을 지원하지 않으나 원본경로 대상경로를 포함하는 목록 파일을 생성한뒤, 위의 스크립트를 사용하면 복수의 파일을 전송할수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 복사가 정상적으로 이루어졌는지 확인 또는 디렉토리의 목록 확인 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 파일 또는 디렉토리 삭제 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test/test.file&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
 $ lcg-del -d srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gfal 명령어 사용 요약 ===&lt;br /&gt;
  $ voms-proxy-init --voms cms 로 proxy 생성후 아래 명령어를 수행하시면 됩니다.&lt;br /&gt;
  $ 조회 : gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName&lt;br /&gt;
  $ 복사 : gfal-copy srm://cluster142.knu.ac.kr:8443/.../FileNameSrc    srm://cluster142.knu.ac.kr:8443/.../FileNameDest&lt;br /&gt;
  $ 삭제 : gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName/FileName&lt;br /&gt;
  $ 디렉토리 삭제 : &amp;lt;strike&amp;gt;gfal-rm -R srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName&amp;lt;/strike&amp;gt;&lt;br /&gt;
* 명령어 뒤의 Option은 매뉴얼 페이지를 참고 바랍니다. (ex. man gfal-ls)&lt;br /&gt;
* 1000개 이상의 파일 포함한 폴더 내용 보기 : (ex. 500번째 파일부터 700개의 파일을 보고 싶을 경우) lcg-ls --offset 500 --count 700 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(DestFoler)&lt;br /&gt;
* gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 디렉토리까지 복사가 가능합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gfal-copy를 이용한 디렉토리 복사 ===&lt;br /&gt;
&lt;br /&gt;
gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 서브 디렉토리까지 한번에 복사가 가능합니다. 다음과 같이 임의의 테스트 디렉토리를 만들었을때&lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms tmp5]$ ll&lt;br /&gt;
 total 0&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 cc&lt;br /&gt;
 drwxr-xr-x 2 hanbi knu 24 Aug 26 17:22 dir1&lt;br /&gt;
&lt;br /&gt;
-r 옵션을 적용해서 다음과 같이 실행하면 (로컬 디스크의 ~/hanbi/tmp5 디렉토리를 SE의  hanbi/tmp5로 복사)&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r file:////u/user/hanbi/tmp5 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ gfal-copy -r file:////u/user/hanbi/tmp5 srm://cluster142.knu.ac.kr:8443/srm/managerv2?    SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 Mkdir srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/aa   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/bb   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/cc   [DONE]  after 0s&lt;br /&gt;
 Mkdir srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5/dir1&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/dir1/dd   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/dir1/ee   [DONE]  after 0s&lt;br /&gt;
&lt;br /&gt;
아래와 같이 하부 디렉토리까지 스토리지 엘리먼트로 전부 전송이 되는 것을 확인 할 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ ll /pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 total 1&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 cc&lt;br /&gt;
 drwxr-xr-x 4 hanbi cms 512 Aug 26 17:22 dir1&lt;br /&gt;
 &lt;br /&gt;
물론 반대로 스토리지 엘리먼트에서 로컬 하드로 복사도 가능한데, 사용시 주의해야할 점은 SE의 소스 용량을 먼저 확인해서 전송을해야 로컬 하드디스크가 가득차는 것을 방지할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5 file:////u/user/hanbi/tmp5 &lt;br /&gt;
&lt;br /&gt;
소스디렉토리의 크기를 확인하는 방법은 다음과 같이 확인할 수 있습니다. 다만 해당 디렉토리 아래의 크기가 매우 클 경우에는 결과가 나오는데 시간이 오래 결릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 du -hs  /pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
&lt;br /&gt;
===crab3를 사용한 후  gfal-* 명령어들이 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
source /cvmfs/cms.cern.ch/crab3/crab.sh 실행후에 gfal-* 명령어들이 오류가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 Could not find platform independent libraries &amp;lt;prefix&amp;gt;&lt;br /&gt;
 Could not find platform dependent libraries &amp;lt;exec_prefix&amp;gt;&lt;br /&gt;
 Consider setting $PYTHONHOME to &amp;lt;prefix&amp;gt;[:&amp;lt;exec_prefix&amp;gt;]&lt;br /&gt;
 &#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
   File &amp;quot;/usr/bin/gfal-ls&amp;quot;, line 8, in &amp;lt;module&amp;gt;&lt;br /&gt;
     from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
 ImportError: No module named gfal2_util.shell&lt;br /&gt;
&lt;br /&gt;
crab3 에서 사용하는 python 환경변수와 gfal-* 명령어들에 문제를 일으키기 때문입니다. gfal-* 명령어 앞에 &amp;quot; env --unset=LD_LIBRARY_PATH &amp;quot;을 넣어줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ env --unset=LD_LIBRARY_PATH gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
=== cmsenv 실행후  gfal 명령어들이 정상 동작 하지 않을때 === &lt;br /&gt;
&lt;br /&gt;
cmsenv 실행후에 다음과 같은 오류가 발생한다면&lt;br /&gt;
&lt;br /&gt;
 Failed to add IO tunnel (libgsiTunnel.so: cannot open shared object file: No such file or directory). Provider: [libgsiTunnel.so].&lt;br /&gt;
 Error ( POLLIN) (with data) on control line [12]&lt;br /&gt;
 Failed to create a control line&lt;br /&gt;
 Failed open file in the dCache.&lt;br /&gt;
 gfal-copy: error: Input/output error &lt;br /&gt;
&lt;br /&gt;
아래 명령을 먼저 실행해줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
&lt;br /&gt;
=== no match 오류가 발생할때 ===&lt;br /&gt;
&lt;br /&gt;
* tcsh에서 ?는 wild card로 인식이 됩니다. 따라서 tcsh을 사용하고 있다면 srm 경로에 반드시 &amp;quot;&amp;quot;를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  srm*, lcg*, gfal* 주요 명령어 비교표 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   srm*  !! lcg* !! gfal* !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmls&lt;br /&gt;
| lcg-ls&lt;br /&gt;
| gfal-ls &lt;br /&gt;
| ls&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmcp&lt;br /&gt;
| lcg-cp&lt;br /&gt;
| gfal-copy&lt;br /&gt;
| cp&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrm&lt;br /&gt;
| lcg-del&lt;br /&gt;
| gfal-rm &lt;br /&gt;
| rm &lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmmkdir&lt;br /&gt;
| &lt;br /&gt;
| gfal-mkdir &lt;br /&gt;
| mkdir &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrmdir&lt;br /&gt;
| lcg-del -d&lt;br /&gt;
| gfal-rm -R &lt;br /&gt;
| rmdir&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| gfal-cat &lt;br /&gt;
| cat&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== uberftp를 이용한 Storage Element 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[ uberftp | uberftp 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== WebFTS를 이용한 Storage Element 로의 Data 전송 ===&lt;br /&gt;
* [[ Webfts | WebFTS 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
===  GNU Parallel &amp;amp; gfap-copy 를 이용한 SE → SE Data 전송 ===&lt;br /&gt;
&lt;br /&gt;
 [source]&lt;br /&gt;
 srm://dcache-se-cms.desy.de:8443//pnfs/desy.de/cms/tier2/store/user/beinsam/test&lt;br /&gt;
 &lt;br /&gt;
 [target]&lt;br /&gt;
 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/test&lt;br /&gt;
&lt;br /&gt;
1) uberftp를 이용하여 gfal-copy 실행 파일 리스트 생성&lt;br /&gt;
&lt;br /&gt;
 $ uberftp -ls -r gsiftp://dcache-door-cms15.desy.de/pnfs/desy.de/cms/tier2/store/user/beinsam/test | grep .root$ | awk {&#039; print &amp;quot;gfal-copy srm://dcache-se-cms.desy.de:8443/&amp;quot;$8&amp;quot;  srm://cluster142.knu.ac.kr:8443/&amp;quot;$8}&#039; | sed &#039;s/desy.de\/cms\/tier2\/store\/user\/beinsam/knu.ac.kr\/data\/cms\/store\/user\/hanbi/2&#039; &amp;gt; gfal-copy.txt&lt;br /&gt;
&lt;br /&gt;
2) parallel를 이용하여 10개씩  gfal-copy 실행&lt;br /&gt;
 $ cat gfal-copy.txt | parallel -j 10&lt;br /&gt;
&lt;br /&gt;
===  fts-transfer-submit 를 이용한 SE → SE Data 전송 ===&lt;br /&gt;
&lt;br /&gt;
 [source]&lt;br /&gt;
 srm://dcache-se-cms.desy.de:8443//pnfs/desy.de/cms/tier2/store/user/beinsam/test&lt;br /&gt;
 &lt;br /&gt;
 [target]&lt;br /&gt;
 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) uberftp를 이용하여 파일 리스트 파일 생성.&lt;br /&gt;
&lt;br /&gt;
 $ uberftp -ls -r gsiftp://dcache-door-cms15.desy.de/pnfs/desy.de/cms/tier2/store/user/beinsam/test | grep .root$ | awk {&#039; print &amp;quot;srm://dcache-se-cms.desy.de:8443/&amp;quot;$8&amp;quot;  srm://cluster142.knu.ac.kr:8443/&amp;quot;$8}&#039; | sed &#039;s/desy.de\/cms\/tier2\/store\/user\/beinsam/knu.ac.kr\/data\/cms\/store\/user\/hanbi/2&#039; &amp;gt; copylist.txt&lt;br /&gt;
&lt;br /&gt;
2) fts-transfer-submit&lt;br /&gt;
&lt;br /&gt;
 $ export PATH=/cvmfs/grid.cern.ch/Grid/FTS3/3.7.8/x86_64-slc6-gcc44-opt/bin:$PATH&lt;br /&gt;
 $ export LD_LIBRARY_PATH=/cvmfs/grid.cern.ch/Grid/FTS3/3.7.8/x86_64-slc6-gcc44-opt/lib64:$LD_LIBRARY_PATH&lt;br /&gt;
 &lt;br /&gt;
 $ fts-transfer-submit -s https://fts3-pilot.cern.ch:8446 -f copylist.txt&lt;br /&gt;
 165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
3) transfer status monitoring&lt;br /&gt;
&lt;br /&gt;
 fts-transfer-status -s https://fts3-pilot.cern.ch:8446 165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 https://fts3-pilot.cern.ch:8449/fts3/ftsmon/&lt;br /&gt;
 https://fts3-pilot.cern.ch:8449/fts3/ftsmon/#/job/165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU 저장공간(Disk) 활용 분류 ===&lt;br /&gt;
&lt;br /&gt;
 * Storage Element (srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/...)&lt;br /&gt;
  : 대용량 저장 공간으로 장기간 보관이 가능합니다.&lt;br /&gt;
   - rucio를 통해 전송된 DataSet 저장&lt;br /&gt;
   - Crab Analysis 이후의 결과파일 저장&lt;br /&gt;
     srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/&lt;br /&gt;
     &amp;lt;u&amp;gt;UI에서는 ~/SE_UserHome/ 에서 확인할 수 있습니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
  : 현재 약 1.45 PB의 공간을 마련하여 운영하고 있습니다.&lt;br /&gt;
  : 사용자의 데이터 저장으로 공간이 부족할 경우, 사전 설문을 통해 더 이상 사용하지 않는 과거 데이터의 삭제 요청을 드릴 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 * User Home Directory (/u/user/...)&lt;br /&gt;
  : 기본적인 설정 사항, 사용자가 필요한 소프트웨어 등을 설치 및 보관하는 장소입니다.&lt;br /&gt;
  : 약 20 TB 규모의 공간입니다.&lt;br /&gt;
  : 모든 사용자가 20 TB를 나누어 사용하므로 용량이 큰 데이터의 보관은 가급적 삼가해 주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
 * Scratch Disk&lt;br /&gt;
  : UI에 총 1개의 임시 저장공간이 있습니다.&lt;br /&gt;
   - /d0  : 약 40 TB RAID6 Disk&lt;br /&gt;
  : Sratch 디스크는  임시 저장공간으로 중요한 데이터 및 장기 보관 데이터는 반드시 Storage Element로 이동하여 주시기 바랍니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3090</id>
		<title>Storage Element Tutorial</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3090"/>
		<updated>2024-02-15T08:41:16Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 서비스별 스토리지 접근 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Storage Element Tutorial ==&lt;br /&gt;
CRAB 등을 사용하여 얻은 데이터를 보관할 수 있는 저장 공간을 Storage Element (SE)라 합니다.&lt;br /&gt;
이곳에 데이터를 저장하기 위해서는 몇가지 특수한 명령어를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : tcsh, csh 등 에서 관련 명령어를 사용할 때, 경로 인자에 반드시 &amp;quot; &amp;quot; 를 사용해주시기 바랍니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
UI에 로그인 했을 때 일반 사용자가 읽고 쓸수 있는 저장공간은 다음과 같이 3가지 종류가 있습니다.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  종류  !! 경로 !! 지원 프로토콜 !! 총용량 !! 사용자당 !! 용도 !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI 사용자 홈&lt;br /&gt;
| &lt;br /&gt;
* /u/user/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 20 TB&lt;br /&gt;
| 200 GB&lt;br /&gt;
| 프로그램 설치&amp;lt;br&amp;gt;사용자 기본 작업공간&lt;br /&gt;
| RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| SE 사용자홈&lt;br /&gt;
| &lt;br /&gt;
* xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}/&amp;lt;br&amp;gt;&lt;br /&gt;
* webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* srm: srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* dcap: dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsidcap: gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| xrootd, webdav,&amp;lt;br&amp;gt;srm, gsiftp, &amp;lt;br&amp;gt;dcap, gsidcap,&amp;lt;br&amp;gt; nfs &lt;br /&gt;
| 1.45 PB&lt;br /&gt;
| 10 TB&lt;br /&gt;
| 데이터 보관&amp;lt;br&amp;gt;대용량데이터처리&amp;lt;br&amp;gt;프로그램설치X&lt;br /&gt;
| dCache, RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| 스크레치&lt;br /&gt;
| &lt;br /&gt;
* /d0/scratch&amp;lt;br&amp;gt;&lt;br /&gt;
* /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 40 TB&lt;br /&gt;
|  &lt;br /&gt;
| 임시 작업용&amp;lt;BR&amp;gt;중요데이터 보관X &lt;br /&gt;
| RAID6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* x509인증이 토큰 인증으로 전환되고 있는 상황이라 srm 프로토콜은 gsiftp, xrootd, webdav 프로토콜로 대체되고 있습니다.&lt;br /&gt;
* dcap(dCache access protocol): 인증이 필요없는 읽기 전용의 프로토콜입니다. 인증이 필요없기에 간편하게 사용할수 있지만 경북대 내부에서만 사용할수 있습니다.&lt;br /&gt;
* gsidcap: 그리드 인증이 필요한 dcap 프로토콜입니다. 읽기 쓰기가 모두 가능하며 경북대 내외부에서 모두 사용할 수 있습니다.&lt;br /&gt;
* SE에 저장되어 있는 데이터셋은 연산노드에서 dcap, xrootd, gsiftp, nfs, wedav, srm 프로토콜을 이용하여 읽을 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
* CERN ID와 KNU ID가 다른 사용자는 SE 사용자 홈디렉토리에 CERN ID를 기준으로 디렉토리가 생성됩니다.&lt;br /&gt;
* {knu_id}는 경북대에서 발급받은 ID, {cern_id}는 CERN에서 발급 받은 ID를 의미합니다. 일부 사용자들은 두 ID가 일치 하지 않습니다.  &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;경북대 계정 신청시 CERN ID가 없는 사용자는 계정발급 직후 SE 사용자 홈디렉토리가 생성되지 않습니다. CERN ID를 발급 받은 후에 별도로 연락주세요.&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
* 현재는 저장공간의 사용자당 최대 사용량이 시스템적으로 설정되어 있지는 않습니다. 그러나 원활한 이용을 위하여 초과해서 사용이 필요한 경우에는 사전에 관리자와 협의를 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;저장공간이 부족해질 경우 개인 사용량을 초과하는 사용자를 대상으로 사용햐지 않는 데이터의 정리를 요청하고 있습니다. 삭제요청과 함께 혹시라도 데이터가 방치되고 있지는 않은지 확인하는 작업입니다.  파일의 삭제 가능 여부와 상관없이 반드시 답장을 해주시기 바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 스크레치 저장공간은 불필요한 데이터를 수시로 정리해주시고 장기 보관이 필요한 데이터는 SE로 이동 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;스크레치 디스크는 임시작업용 저장공간입니다. 데이터 손실에 대한 안전장치가 전혀 없으므로 절대 데이터 보관용으로 사용해서는 안됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;매월 28일 90일이 지난 스크레치 디스크의 데이터는 자동으로 삭제됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 서비스별 스토리지 접근 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  서비스  !! 스토리지 !! 지원 프로토콜 !! 경로 !! Grid인증 !!  비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | UI&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srm&lt;br /&gt;
| srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsiftp&lt;br /&gt;
| gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | HTCondor&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srm&lt;br /&gt;
| srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsiftp&lt;br /&gt;
| gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;u&amp;gt;해당 경로를 찾을 수 없다면 관리자에게 문의해 주시기 바랍니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;HTcondor 에서 SE에 nfs로 연결됨에 따라 dcap 이나 xrootd 와 같은 별다른 프로토콜 사용 없이 직접적으로 SE의 데이터를 읽을 수 있습니다. 다만 읽기만 지원하는 것에 유의해주시기 바랍니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== voms 인증  ===&lt;br /&gt;
* SE는 voms 인증 후 사용할수 있습니다. &lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
&lt;br /&gt;
=== voms 인증 정보 확인  ===&lt;br /&gt;
* voms 인증 정보는 다음 명령어로 확인할 수 있습니다. &lt;br /&gt;
 $ voms-proxy-info --all&lt;br /&gt;
 voms-proxy-info --all&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong/CN=00000000&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 identity  : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 type      : RFC3820 compliant impersonation proxy&lt;br /&gt;
 strength  : 1024&lt;br /&gt;
 path      : /tmp/x509up_u77420&lt;br /&gt;
 timeleft  : 11:59:52&lt;br /&gt;
 key usage : Digital Signature, Key Encipherment&lt;br /&gt;
 === VO cms extension information ===&lt;br /&gt;
 VO        : cms&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch&lt;br /&gt;
 attribute : /cms/Role=NULL/Capability=NULL&lt;br /&gt;
 timeleft  : 11:59:54&lt;br /&gt;
 uri       : voms2.cern.ch:15002&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;주의해야할 부분은 VO cms extension information 부분입니다. 만약 VO cms extension information 부분이 출력되지 않는다면 --voms cms 옵션을 정확하게 입력하였는지 자신의 cms vo가 만료된건 아닌지 확인 해야합니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU의 Computing Resource 실시간 조회하기 (CPU, Disk 자원 조회) ===&lt;br /&gt;
&lt;br /&gt;
* UI 에서 &amp;quot;knuinfo&amp;quot; 명령어를 실행합니다.&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 $&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
     CPU	   Free	Total Jobs	Running	Waiting	ComputingElement&lt;br /&gt;
    1328	    571	       253	    157	      0	ce01.knu.ac.kr:9619/ce01.knu.ac.kr-condor&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
  Avail Space(kB)  Used Space(kB)  Type 	SE&lt;br /&gt;
     369726007282   1076716332991  SRM  	cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
=== SE(Storage Element)의 사용자 디렉토리 경로 ===&lt;br /&gt;
 $ srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ dcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;참고사항: &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 위의 예시에서 username은 향후 data를 publish 할 경우를 대비하서 경북대 ID가 아니라 CERNID를 사용해야 합니다. &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 계정을 발급받을 당시에 cern id가 없는 사용자는 해당 경로가 생성되지 않습니다.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 만약에 cern id가 있는데도 불구하고 본인의 디렉토리가 만들어져 있지 않는 경우에는 관리자에게 연락바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에서 SE로 파일 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에 있는 파일을 및 local 디렉토리로 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
=== xrootd 를 활용한 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
*  [[Xrootd|xrootd 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;WebDav 프로토콜을 활용한 SE Data 접근 방법&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== dcap을 이용한 SE Data 접근 방법 ===&lt;br /&gt;
*  [[Dcap|dcap 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== UI에서 NFS로 마운트된 스토리지 엘리먼트 사용하기 ===&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드]]&lt;br /&gt;
&lt;br /&gt;
=== root에서 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
* dcap 프로토콜을 이용&lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* xrootd 프로토콜을 이용 &lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
=== 복수의 파일을 동시에 전송하기 ===&lt;br /&gt;
 $ /usr/local/bin/lcgcp_copyfiles list.txt&lt;br /&gt;
&lt;br /&gt;
 $ cat  list.txt &lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy1 file:///localdir/sh1&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy2 file:///localdir/sh2&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy3 file:///localdir/sh3&lt;br /&gt;
* lcg_cp는 기본적으로 복수파일 전송을 지원하지 않으나 원본경로 대상경로를 포함하는 목록 파일을 생성한뒤, 위의 스크립트를 사용하면 복수의 파일을 전송할수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 복사가 정상적으로 이루어졌는지 확인 또는 디렉토리의 목록 확인 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 파일 또는 디렉토리 삭제 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test/test.file&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
 $ lcg-del -d srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gfal 명령어 사용 요약 ===&lt;br /&gt;
  $ voms-proxy-init --voms cms 로 proxy 생성후 아래 명령어를 수행하시면 됩니다.&lt;br /&gt;
  $ 조회 : gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName&lt;br /&gt;
  $ 복사 : gfal-copy srm://cluster142.knu.ac.kr:8443/.../FileNameSrc    srm://cluster142.knu.ac.kr:8443/.../FileNameDest&lt;br /&gt;
  $ 삭제 : gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName/FileName&lt;br /&gt;
  $ 디렉토리 삭제 : &amp;lt;strike&amp;gt;gfal-rm -R srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName&amp;lt;/strike&amp;gt;&lt;br /&gt;
* 명령어 뒤의 Option은 매뉴얼 페이지를 참고 바랍니다. (ex. man gfal-ls)&lt;br /&gt;
* 1000개 이상의 파일 포함한 폴더 내용 보기 : (ex. 500번째 파일부터 700개의 파일을 보고 싶을 경우) lcg-ls --offset 500 --count 700 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(DestFoler)&lt;br /&gt;
* gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 디렉토리까지 복사가 가능합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gfal-copy를 이용한 디렉토리 복사 ===&lt;br /&gt;
&lt;br /&gt;
gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 서브 디렉토리까지 한번에 복사가 가능합니다. 다음과 같이 임의의 테스트 디렉토리를 만들었을때&lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms tmp5]$ ll&lt;br /&gt;
 total 0&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 cc&lt;br /&gt;
 drwxr-xr-x 2 hanbi knu 24 Aug 26 17:22 dir1&lt;br /&gt;
&lt;br /&gt;
-r 옵션을 적용해서 다음과 같이 실행하면 (로컬 디스크의 ~/hanbi/tmp5 디렉토리를 SE의  hanbi/tmp5로 복사)&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r file:////u/user/hanbi/tmp5 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ gfal-copy -r file:////u/user/hanbi/tmp5 srm://cluster142.knu.ac.kr:8443/srm/managerv2?    SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 Mkdir srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/aa   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/bb   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/cc   [DONE]  after 0s&lt;br /&gt;
 Mkdir srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5/dir1&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/dir1/dd   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/dir1/ee   [DONE]  after 0s&lt;br /&gt;
&lt;br /&gt;
아래와 같이 하부 디렉토리까지 스토리지 엘리먼트로 전부 전송이 되는 것을 확인 할 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ ll /pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 total 1&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 cc&lt;br /&gt;
 drwxr-xr-x 4 hanbi cms 512 Aug 26 17:22 dir1&lt;br /&gt;
 &lt;br /&gt;
물론 반대로 스토리지 엘리먼트에서 로컬 하드로 복사도 가능한데, 사용시 주의해야할 점은 SE의 소스 용량을 먼저 확인해서 전송을해야 로컬 하드디스크가 가득차는 것을 방지할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5 file:////u/user/hanbi/tmp5 &lt;br /&gt;
&lt;br /&gt;
소스디렉토리의 크기를 확인하는 방법은 다음과 같이 확인할 수 있습니다. 다만 해당 디렉토리 아래의 크기가 매우 클 경우에는 결과가 나오는데 시간이 오래 결릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 du -hs  /pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
&lt;br /&gt;
===crab3를 사용한 후  gfal-* 명령어들이 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
source /cvmfs/cms.cern.ch/crab3/crab.sh 실행후에 gfal-* 명령어들이 오류가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 Could not find platform independent libraries &amp;lt;prefix&amp;gt;&lt;br /&gt;
 Could not find platform dependent libraries &amp;lt;exec_prefix&amp;gt;&lt;br /&gt;
 Consider setting $PYTHONHOME to &amp;lt;prefix&amp;gt;[:&amp;lt;exec_prefix&amp;gt;]&lt;br /&gt;
 &#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
   File &amp;quot;/usr/bin/gfal-ls&amp;quot;, line 8, in &amp;lt;module&amp;gt;&lt;br /&gt;
     from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
 ImportError: No module named gfal2_util.shell&lt;br /&gt;
&lt;br /&gt;
crab3 에서 사용하는 python 환경변수와 gfal-* 명령어들에 문제를 일으키기 때문입니다. gfal-* 명령어 앞에 &amp;quot; env --unset=LD_LIBRARY_PATH &amp;quot;을 넣어줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ env --unset=LD_LIBRARY_PATH gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
=== cmsenv 실행후  gfal 명령어들이 정상 동작 하지 않을때 === &lt;br /&gt;
&lt;br /&gt;
cmsenv 실행후에 다음과 같은 오류가 발생한다면&lt;br /&gt;
&lt;br /&gt;
 Failed to add IO tunnel (libgsiTunnel.so: cannot open shared object file: No such file or directory). Provider: [libgsiTunnel.so].&lt;br /&gt;
 Error ( POLLIN) (with data) on control line [12]&lt;br /&gt;
 Failed to create a control line&lt;br /&gt;
 Failed open file in the dCache.&lt;br /&gt;
 gfal-copy: error: Input/output error &lt;br /&gt;
&lt;br /&gt;
아래 명령을 먼저 실행해줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
&lt;br /&gt;
=== no match 오류가 발생할때 ===&lt;br /&gt;
&lt;br /&gt;
* tcsh에서 ?는 wild card로 인식이 됩니다. 따라서 tcsh을 사용하고 있다면 srm 경로에 반드시 &amp;quot;&amp;quot;를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  srm*, lcg*, gfal* 주요 명령어 비교표 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   srm*  !! lcg* !! gfal* !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmls&lt;br /&gt;
| lcg-ls&lt;br /&gt;
| gfal-ls &lt;br /&gt;
| ls&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmcp&lt;br /&gt;
| lcg-cp&lt;br /&gt;
| gfal-copy&lt;br /&gt;
| cp&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrm&lt;br /&gt;
| lcg-del&lt;br /&gt;
| gfal-rm &lt;br /&gt;
| rm &lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmmkdir&lt;br /&gt;
| &lt;br /&gt;
| gfal-mkdir &lt;br /&gt;
| mkdir &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrmdir&lt;br /&gt;
| lcg-del -d&lt;br /&gt;
| gfal-rm -R &lt;br /&gt;
| rmdir&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| gfal-cat &lt;br /&gt;
| cat&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== uberftp를 이용한 Storage Element 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[ uberftp | uberftp 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== WebFTS를 이용한 Storage Element 로의 Data 전송 ===&lt;br /&gt;
* [[ Webfts | WebFTS 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
===  GNU Parallel &amp;amp; gfap-copy 를 이용한 SE → SE Data 전송 ===&lt;br /&gt;
&lt;br /&gt;
 [source]&lt;br /&gt;
 srm://dcache-se-cms.desy.de:8443//pnfs/desy.de/cms/tier2/store/user/beinsam/test&lt;br /&gt;
 &lt;br /&gt;
 [target]&lt;br /&gt;
 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/test&lt;br /&gt;
&lt;br /&gt;
1) uberftp를 이용하여 gfal-copy 실행 파일 리스트 생성&lt;br /&gt;
&lt;br /&gt;
 $ uberftp -ls -r gsiftp://dcache-door-cms15.desy.de/pnfs/desy.de/cms/tier2/store/user/beinsam/test | grep .root$ | awk {&#039; print &amp;quot;gfal-copy srm://dcache-se-cms.desy.de:8443/&amp;quot;$8&amp;quot;  srm://cluster142.knu.ac.kr:8443/&amp;quot;$8}&#039; | sed &#039;s/desy.de\/cms\/tier2\/store\/user\/beinsam/knu.ac.kr\/data\/cms\/store\/user\/hanbi/2&#039; &amp;gt; gfal-copy.txt&lt;br /&gt;
&lt;br /&gt;
2) parallel를 이용하여 10개씩  gfal-copy 실행&lt;br /&gt;
 $ cat gfal-copy.txt | parallel -j 10&lt;br /&gt;
&lt;br /&gt;
===  fts-transfer-submit 를 이용한 SE → SE Data 전송 ===&lt;br /&gt;
&lt;br /&gt;
 [source]&lt;br /&gt;
 srm://dcache-se-cms.desy.de:8443//pnfs/desy.de/cms/tier2/store/user/beinsam/test&lt;br /&gt;
 &lt;br /&gt;
 [target]&lt;br /&gt;
 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) uberftp를 이용하여 파일 리스트 파일 생성.&lt;br /&gt;
&lt;br /&gt;
 $ uberftp -ls -r gsiftp://dcache-door-cms15.desy.de/pnfs/desy.de/cms/tier2/store/user/beinsam/test | grep .root$ | awk {&#039; print &amp;quot;srm://dcache-se-cms.desy.de:8443/&amp;quot;$8&amp;quot;  srm://cluster142.knu.ac.kr:8443/&amp;quot;$8}&#039; | sed &#039;s/desy.de\/cms\/tier2\/store\/user\/beinsam/knu.ac.kr\/data\/cms\/store\/user\/hanbi/2&#039; &amp;gt; copylist.txt&lt;br /&gt;
&lt;br /&gt;
2) fts-transfer-submit&lt;br /&gt;
&lt;br /&gt;
 $ export PATH=/cvmfs/grid.cern.ch/Grid/FTS3/3.7.8/x86_64-slc6-gcc44-opt/bin:$PATH&lt;br /&gt;
 $ export LD_LIBRARY_PATH=/cvmfs/grid.cern.ch/Grid/FTS3/3.7.8/x86_64-slc6-gcc44-opt/lib64:$LD_LIBRARY_PATH&lt;br /&gt;
 &lt;br /&gt;
 $ fts-transfer-submit -s https://fts3-pilot.cern.ch:8446 -f copylist.txt&lt;br /&gt;
 165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
3) transfer status monitoring&lt;br /&gt;
&lt;br /&gt;
 fts-transfer-status -s https://fts3-pilot.cern.ch:8446 165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 https://fts3-pilot.cern.ch:8449/fts3/ftsmon/&lt;br /&gt;
 https://fts3-pilot.cern.ch:8449/fts3/ftsmon/#/job/165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU 저장공간(Disk) 활용 분류 ===&lt;br /&gt;
&lt;br /&gt;
 * Storage Element (srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/...)&lt;br /&gt;
  : 대용량 저장 공간으로 장기간 보관이 가능합니다.&lt;br /&gt;
   - rucio를 통해 전송된 DataSet 저장&lt;br /&gt;
   - Crab Analysis 이후의 결과파일 저장&lt;br /&gt;
     srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/&lt;br /&gt;
     &amp;lt;u&amp;gt;UI에서는 ~/SE_UserHome/ 에서 확인할 수 있습니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
  : 현재 약 1.45 PB의 공간을 마련하여 운영하고 있습니다.&lt;br /&gt;
  : 사용자의 데이터 저장으로 공간이 부족할 경우, 사전 설문을 통해 더 이상 사용하지 않는 과거 데이터의 삭제 요청을 드릴 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 * User Home Directory (/u/user/...)&lt;br /&gt;
  : 기본적인 설정 사항, 사용자가 필요한 소프트웨어 등을 설치 및 보관하는 장소입니다.&lt;br /&gt;
  : 약 20 TB 규모의 공간입니다.&lt;br /&gt;
  : 모든 사용자가 20 TB를 나누어 사용하므로 용량이 큰 데이터의 보관은 가급적 삼가해 주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
 * Scratch Disk&lt;br /&gt;
  : UI에 총 1개의 임시 저장공간이 있습니다.&lt;br /&gt;
   - /d0  : 약 40 TB RAID6 Disk&lt;br /&gt;
  : Sratch 디스크는  임시 저장공간으로 중요한 데이터 및 장기 보관 데이터는 반드시 Storage Element로 이동하여 주시기 바랍니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3089</id>
		<title>Storage Element Tutorial</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3089"/>
		<updated>2024-02-15T08:40:38Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Storage Element Tutorial ==&lt;br /&gt;
CRAB 등을 사용하여 얻은 데이터를 보관할 수 있는 저장 공간을 Storage Element (SE)라 합니다.&lt;br /&gt;
이곳에 데이터를 저장하기 위해서는 몇가지 특수한 명령어를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : tcsh, csh 등 에서 관련 명령어를 사용할 때, 경로 인자에 반드시 &amp;quot; &amp;quot; 를 사용해주시기 바랍니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
UI에 로그인 했을 때 일반 사용자가 읽고 쓸수 있는 저장공간은 다음과 같이 3가지 종류가 있습니다.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  종류  !! 경로 !! 지원 프로토콜 !! 총용량 !! 사용자당 !! 용도 !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI 사용자 홈&lt;br /&gt;
| &lt;br /&gt;
* /u/user/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 20 TB&lt;br /&gt;
| 200 GB&lt;br /&gt;
| 프로그램 설치&amp;lt;br&amp;gt;사용자 기본 작업공간&lt;br /&gt;
| RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| SE 사용자홈&lt;br /&gt;
| &lt;br /&gt;
* xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}/&amp;lt;br&amp;gt;&lt;br /&gt;
* webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* srm: srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* dcap: dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsidcap: gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| xrootd, webdav,&amp;lt;br&amp;gt;srm, gsiftp, &amp;lt;br&amp;gt;dcap, gsidcap,&amp;lt;br&amp;gt; nfs &lt;br /&gt;
| 1.45 PB&lt;br /&gt;
| 10 TB&lt;br /&gt;
| 데이터 보관&amp;lt;br&amp;gt;대용량데이터처리&amp;lt;br&amp;gt;프로그램설치X&lt;br /&gt;
| dCache, RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| 스크레치&lt;br /&gt;
| &lt;br /&gt;
* /d0/scratch&amp;lt;br&amp;gt;&lt;br /&gt;
* /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 40 TB&lt;br /&gt;
|  &lt;br /&gt;
| 임시 작업용&amp;lt;BR&amp;gt;중요데이터 보관X &lt;br /&gt;
| RAID6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* x509인증이 토큰 인증으로 전환되고 있는 상황이라 srm 프로토콜은 gsiftp, xrootd, webdav 프로토콜로 대체되고 있습니다.&lt;br /&gt;
* dcap(dCache access protocol): 인증이 필요없는 읽기 전용의 프로토콜입니다. 인증이 필요없기에 간편하게 사용할수 있지만 경북대 내부에서만 사용할수 있습니다.&lt;br /&gt;
* gsidcap: 그리드 인증이 필요한 dcap 프로토콜입니다. 읽기 쓰기가 모두 가능하며 경북대 내외부에서 모두 사용할 수 있습니다.&lt;br /&gt;
* SE에 저장되어 있는 데이터셋은 연산노드에서 dcap, xrootd, gsiftp, nfs, wedav, srm 프로토콜을 이용하여 읽을 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
* CERN ID와 KNU ID가 다른 사용자는 SE 사용자 홈디렉토리에 CERN ID를 기준으로 디렉토리가 생성됩니다.&lt;br /&gt;
* {knu_id}는 경북대에서 발급받은 ID, {cern_id}는 CERN에서 발급 받은 ID를 의미합니다. 일부 사용자들은 두 ID가 일치 하지 않습니다.  &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;경북대 계정 신청시 CERN ID가 없는 사용자는 계정발급 직후 SE 사용자 홈디렉토리가 생성되지 않습니다. CERN ID를 발급 받은 후에 별도로 연락주세요.&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
* 현재는 저장공간의 사용자당 최대 사용량이 시스템적으로 설정되어 있지는 않습니다. 그러나 원활한 이용을 위하여 초과해서 사용이 필요한 경우에는 사전에 관리자와 협의를 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;저장공간이 부족해질 경우 개인 사용량을 초과하는 사용자를 대상으로 사용햐지 않는 데이터의 정리를 요청하고 있습니다. 삭제요청과 함께 혹시라도 데이터가 방치되고 있지는 않은지 확인하는 작업입니다.  파일의 삭제 가능 여부와 상관없이 반드시 답장을 해주시기 바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 스크레치 저장공간은 불필요한 데이터를 수시로 정리해주시고 장기 보관이 필요한 데이터는 SE로 이동 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;스크레치 디스크는 임시작업용 저장공간입니다. 데이터 손실에 대한 안전장치가 전혀 없으므로 절대 데이터 보관용으로 사용해서는 안됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;매월 28일 90일이 지난 스크레치 디스크의 데이터는 자동으로 삭제됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 서비스별 스토리지 접근 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  서비스  !! 스토리지 !! 지원 프로토콜 !! 경로 !! Grid인증 !!  비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | UI&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srm&lt;br /&gt;
| srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsiftp&lt;br /&gt;
| gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | HTCondor&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srm&lt;br /&gt;
| srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsiftp&lt;br /&gt;
| gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;u&amp;gt;해당 경로를 찾을 수 없다면 관리자에게 문의해 주시기 바랍니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;HTcondor 에서 SE에 nfs로 연결됨에 따라 dcap 이나 xrootd 와 같은 별다른 프로토콜 사용 없이 직접적으로 SE의 데이터를 읽을 수 있습니다. 다만 읽기만 지원하는 것에 유의해주시기 바랍니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== voms 인증  ===&lt;br /&gt;
* SE는 voms 인증 후 사용할수 있습니다. &lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
&lt;br /&gt;
=== voms 인증 정보 확인  ===&lt;br /&gt;
* voms 인증 정보는 다음 명령어로 확인할 수 있습니다. &lt;br /&gt;
 $ voms-proxy-info --all&lt;br /&gt;
 voms-proxy-info --all&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong/CN=00000000&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 identity  : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 type      : RFC3820 compliant impersonation proxy&lt;br /&gt;
 strength  : 1024&lt;br /&gt;
 path      : /tmp/x509up_u77420&lt;br /&gt;
 timeleft  : 11:59:52&lt;br /&gt;
 key usage : Digital Signature, Key Encipherment&lt;br /&gt;
 === VO cms extension information ===&lt;br /&gt;
 VO        : cms&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch&lt;br /&gt;
 attribute : /cms/Role=NULL/Capability=NULL&lt;br /&gt;
 timeleft  : 11:59:54&lt;br /&gt;
 uri       : voms2.cern.ch:15002&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;주의해야할 부분은 VO cms extension information 부분입니다. 만약 VO cms extension information 부분이 출력되지 않는다면 --voms cms 옵션을 정확하게 입력하였는지 자신의 cms vo가 만료된건 아닌지 확인 해야합니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU의 Computing Resource 실시간 조회하기 (CPU, Disk 자원 조회) ===&lt;br /&gt;
&lt;br /&gt;
* UI 에서 &amp;quot;knuinfo&amp;quot; 명령어를 실행합니다.&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 $&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
     CPU	   Free	Total Jobs	Running	Waiting	ComputingElement&lt;br /&gt;
    1328	    571	       253	    157	      0	ce01.knu.ac.kr:9619/ce01.knu.ac.kr-condor&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
  Avail Space(kB)  Used Space(kB)  Type 	SE&lt;br /&gt;
     369726007282   1076716332991  SRM  	cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
=== SE(Storage Element)의 사용자 디렉토리 경로 ===&lt;br /&gt;
 $ srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ dcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;참고사항: &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 위의 예시에서 username은 향후 data를 publish 할 경우를 대비하서 경북대 ID가 아니라 CERNID를 사용해야 합니다. &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 계정을 발급받을 당시에 cern id가 없는 사용자는 해당 경로가 생성되지 않습니다.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 만약에 cern id가 있는데도 불구하고 본인의 디렉토리가 만들어져 있지 않는 경우에는 관리자에게 연락바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에서 SE로 파일 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에 있는 파일을 및 local 디렉토리로 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy srm://cluster142.knu.ac.kr/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile  \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsiftp://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
=== xrootd 를 활용한 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
*  [[Xrootd|xrootd 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;WebDav 프로토콜을 활용한 SE Data 접근 방법&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== dcap을 이용한 SE Data 접근 방법 ===&lt;br /&gt;
*  [[Dcap|dcap 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== UI에서 NFS로 마운트된 스토리지 엘리먼트 사용하기 ===&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드]]&lt;br /&gt;
&lt;br /&gt;
=== root에서 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
* dcap 프로토콜을 이용&lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* xrootd 프로토콜을 이용 &lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
=== 복수의 파일을 동시에 전송하기 ===&lt;br /&gt;
 $ /usr/local/bin/lcgcp_copyfiles list.txt&lt;br /&gt;
&lt;br /&gt;
 $ cat  list.txt &lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy1 file:///localdir/sh1&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy2 file:///localdir/sh2&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy3 file:///localdir/sh3&lt;br /&gt;
* lcg_cp는 기본적으로 복수파일 전송을 지원하지 않으나 원본경로 대상경로를 포함하는 목록 파일을 생성한뒤, 위의 스크립트를 사용하면 복수의 파일을 전송할수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 복사가 정상적으로 이루어졌는지 확인 또는 디렉토리의 목록 확인 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 파일 또는 디렉토리 삭제 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test/test.file&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
 $ lcg-del -d srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gfal 명령어 사용 요약 ===&lt;br /&gt;
  $ voms-proxy-init --voms cms 로 proxy 생성후 아래 명령어를 수행하시면 됩니다.&lt;br /&gt;
  $ 조회 : gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName&lt;br /&gt;
  $ 복사 : gfal-copy srm://cluster142.knu.ac.kr:8443/.../FileNameSrc    srm://cluster142.knu.ac.kr:8443/.../FileNameDest&lt;br /&gt;
  $ 삭제 : gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName/FileName&lt;br /&gt;
  $ 디렉토리 삭제 : &amp;lt;strike&amp;gt;gfal-rm -R srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName&amp;lt;/strike&amp;gt;&lt;br /&gt;
* 명령어 뒤의 Option은 매뉴얼 페이지를 참고 바랍니다. (ex. man gfal-ls)&lt;br /&gt;
* 1000개 이상의 파일 포함한 폴더 내용 보기 : (ex. 500번째 파일부터 700개의 파일을 보고 싶을 경우) lcg-ls --offset 500 --count 700 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(DestFoler)&lt;br /&gt;
* gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 디렉토리까지 복사가 가능합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gfal-copy를 이용한 디렉토리 복사 ===&lt;br /&gt;
&lt;br /&gt;
gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 서브 디렉토리까지 한번에 복사가 가능합니다. 다음과 같이 임의의 테스트 디렉토리를 만들었을때&lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms tmp5]$ ll&lt;br /&gt;
 total 0&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 cc&lt;br /&gt;
 drwxr-xr-x 2 hanbi knu 24 Aug 26 17:22 dir1&lt;br /&gt;
&lt;br /&gt;
-r 옵션을 적용해서 다음과 같이 실행하면 (로컬 디스크의 ~/hanbi/tmp5 디렉토리를 SE의  hanbi/tmp5로 복사)&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r file:////u/user/hanbi/tmp5 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ gfal-copy -r file:////u/user/hanbi/tmp5 srm://cluster142.knu.ac.kr:8443/srm/managerv2?    SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 Mkdir srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/aa   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/bb   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/cc   [DONE]  after 0s&lt;br /&gt;
 Mkdir srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5/dir1&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/dir1/dd   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/hanbi/tmp5/dir1/ee   [DONE]  after 0s&lt;br /&gt;
&lt;br /&gt;
아래와 같이 하부 디렉토리까지 스토리지 엘리먼트로 전부 전송이 되는 것을 확인 할 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ ll /pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
 total 1&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 cc&lt;br /&gt;
 drwxr-xr-x 4 hanbi cms 512 Aug 26 17:22 dir1&lt;br /&gt;
 &lt;br /&gt;
물론 반대로 스토리지 엘리먼트에서 로컬 하드로 복사도 가능한데, 사용시 주의해야할 점은 SE의 소스 용량을 먼저 확인해서 전송을해야 로컬 하드디스크가 가득차는 것을 방지할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5 file:////u/user/hanbi/tmp5 &lt;br /&gt;
&lt;br /&gt;
소스디렉토리의 크기를 확인하는 방법은 다음과 같이 확인할 수 있습니다. 다만 해당 디렉토리 아래의 크기가 매우 클 경우에는 결과가 나오는데 시간이 오래 결릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 du -hs  /pnfs/knu.ac.kr/data/cms/store/user/hanbi/tmp5&lt;br /&gt;
&lt;br /&gt;
===crab3를 사용한 후  gfal-* 명령어들이 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
source /cvmfs/cms.cern.ch/crab3/crab.sh 실행후에 gfal-* 명령어들이 오류가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 Could not find platform independent libraries &amp;lt;prefix&amp;gt;&lt;br /&gt;
 Could not find platform dependent libraries &amp;lt;exec_prefix&amp;gt;&lt;br /&gt;
 Consider setting $PYTHONHOME to &amp;lt;prefix&amp;gt;[:&amp;lt;exec_prefix&amp;gt;]&lt;br /&gt;
 &#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
   File &amp;quot;/usr/bin/gfal-ls&amp;quot;, line 8, in &amp;lt;module&amp;gt;&lt;br /&gt;
     from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
 ImportError: No module named gfal2_util.shell&lt;br /&gt;
&lt;br /&gt;
crab3 에서 사용하는 python 환경변수와 gfal-* 명령어들에 문제를 일으키기 때문입니다. gfal-* 명령어 앞에 &amp;quot; env --unset=LD_LIBRARY_PATH &amp;quot;을 넣어줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ env --unset=LD_LIBRARY_PATH gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
=== cmsenv 실행후  gfal 명령어들이 정상 동작 하지 않을때 === &lt;br /&gt;
&lt;br /&gt;
cmsenv 실행후에 다음과 같은 오류가 발생한다면&lt;br /&gt;
&lt;br /&gt;
 Failed to add IO tunnel (libgsiTunnel.so: cannot open shared object file: No such file or directory). Provider: [libgsiTunnel.so].&lt;br /&gt;
 Error ( POLLIN) (with data) on control line [12]&lt;br /&gt;
 Failed to create a control line&lt;br /&gt;
 Failed open file in the dCache.&lt;br /&gt;
 gfal-copy: error: Input/output error &lt;br /&gt;
&lt;br /&gt;
아래 명령을 먼저 실행해줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
&lt;br /&gt;
=== no match 오류가 발생할때 ===&lt;br /&gt;
&lt;br /&gt;
* tcsh에서 ?는 wild card로 인식이 됩니다. 따라서 tcsh을 사용하고 있다면 srm 경로에 반드시 &amp;quot;&amp;quot;를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  srm*, lcg*, gfal* 주요 명령어 비교표 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   srm*  !! lcg* !! gfal* !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmls&lt;br /&gt;
| lcg-ls&lt;br /&gt;
| gfal-ls &lt;br /&gt;
| ls&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmcp&lt;br /&gt;
| lcg-cp&lt;br /&gt;
| gfal-copy&lt;br /&gt;
| cp&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrm&lt;br /&gt;
| lcg-del&lt;br /&gt;
| gfal-rm &lt;br /&gt;
| rm &lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmmkdir&lt;br /&gt;
| &lt;br /&gt;
| gfal-mkdir &lt;br /&gt;
| mkdir &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrmdir&lt;br /&gt;
| lcg-del -d&lt;br /&gt;
| gfal-rm -R &lt;br /&gt;
| rmdir&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| gfal-cat &lt;br /&gt;
| cat&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== uberftp를 이용한 Storage Element 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[ uberftp | uberftp 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== WebFTS를 이용한 Storage Element 로의 Data 전송 ===&lt;br /&gt;
* [[ Webfts | WebFTS 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
===  GNU Parallel &amp;amp; gfap-copy 를 이용한 SE → SE Data 전송 ===&lt;br /&gt;
&lt;br /&gt;
 [source]&lt;br /&gt;
 srm://dcache-se-cms.desy.de:8443//pnfs/desy.de/cms/tier2/store/user/beinsam/test&lt;br /&gt;
 &lt;br /&gt;
 [target]&lt;br /&gt;
 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/test&lt;br /&gt;
&lt;br /&gt;
1) uberftp를 이용하여 gfal-copy 실행 파일 리스트 생성&lt;br /&gt;
&lt;br /&gt;
 $ uberftp -ls -r gsiftp://dcache-door-cms15.desy.de/pnfs/desy.de/cms/tier2/store/user/beinsam/test | grep .root$ | awk {&#039; print &amp;quot;gfal-copy srm://dcache-se-cms.desy.de:8443/&amp;quot;$8&amp;quot;  srm://cluster142.knu.ac.kr:8443/&amp;quot;$8}&#039; | sed &#039;s/desy.de\/cms\/tier2\/store\/user\/beinsam/knu.ac.kr\/data\/cms\/store\/user\/hanbi/2&#039; &amp;gt; gfal-copy.txt&lt;br /&gt;
&lt;br /&gt;
2) parallel를 이용하여 10개씩  gfal-copy 실행&lt;br /&gt;
 $ cat gfal-copy.txt | parallel -j 10&lt;br /&gt;
&lt;br /&gt;
===  fts-transfer-submit 를 이용한 SE → SE Data 전송 ===&lt;br /&gt;
&lt;br /&gt;
 [source]&lt;br /&gt;
 srm://dcache-se-cms.desy.de:8443//pnfs/desy.de/cms/tier2/store/user/beinsam/test&lt;br /&gt;
 &lt;br /&gt;
 [target]&lt;br /&gt;
 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/hanbi/test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) uberftp를 이용하여 파일 리스트 파일 생성.&lt;br /&gt;
&lt;br /&gt;
 $ uberftp -ls -r gsiftp://dcache-door-cms15.desy.de/pnfs/desy.de/cms/tier2/store/user/beinsam/test | grep .root$ | awk {&#039; print &amp;quot;srm://dcache-se-cms.desy.de:8443/&amp;quot;$8&amp;quot;  srm://cluster142.knu.ac.kr:8443/&amp;quot;$8}&#039; | sed &#039;s/desy.de\/cms\/tier2\/store\/user\/beinsam/knu.ac.kr\/data\/cms\/store\/user\/hanbi/2&#039; &amp;gt; copylist.txt&lt;br /&gt;
&lt;br /&gt;
2) fts-transfer-submit&lt;br /&gt;
&lt;br /&gt;
 $ export PATH=/cvmfs/grid.cern.ch/Grid/FTS3/3.7.8/x86_64-slc6-gcc44-opt/bin:$PATH&lt;br /&gt;
 $ export LD_LIBRARY_PATH=/cvmfs/grid.cern.ch/Grid/FTS3/3.7.8/x86_64-slc6-gcc44-opt/lib64:$LD_LIBRARY_PATH&lt;br /&gt;
 &lt;br /&gt;
 $ fts-transfer-submit -s https://fts3-pilot.cern.ch:8446 -f copylist.txt&lt;br /&gt;
 165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
3) transfer status monitoring&lt;br /&gt;
&lt;br /&gt;
 fts-transfer-status -s https://fts3-pilot.cern.ch:8446 165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 https://fts3-pilot.cern.ch:8449/fts3/ftsmon/&lt;br /&gt;
 https://fts3-pilot.cern.ch:8449/fts3/ftsmon/#/job/165b3e94-ac07-11e8-8460-02163e01841b&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU 저장공간(Disk) 활용 분류 ===&lt;br /&gt;
&lt;br /&gt;
 * Storage Element (srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/...)&lt;br /&gt;
  : 대용량 저장 공간으로 장기간 보관이 가능합니다.&lt;br /&gt;
   - rucio를 통해 전송된 DataSet 저장&lt;br /&gt;
   - Crab Analysis 이후의 결과파일 저장&lt;br /&gt;
     srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/&lt;br /&gt;
     &amp;lt;u&amp;gt;UI에서는 ~/SE_UserHome/ 에서 확인할 수 있습니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
  : 현재 약 1.45 PB의 공간을 마련하여 운영하고 있습니다.&lt;br /&gt;
  : 사용자의 데이터 저장으로 공간이 부족할 경우, 사전 설문을 통해 더 이상 사용하지 않는 과거 데이터의 삭제 요청을 드릴 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 * User Home Directory (/u/user/...)&lt;br /&gt;
  : 기본적인 설정 사항, 사용자가 필요한 소프트웨어 등을 설치 및 보관하는 장소입니다.&lt;br /&gt;
  : 약 20 TB 규모의 공간입니다.&lt;br /&gt;
  : 모든 사용자가 20 TB를 나누어 사용하므로 용량이 큰 데이터의 보관은 가급적 삼가해 주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
 * Scratch Disk&lt;br /&gt;
  : UI에 총 1개의 임시 저장공간이 있습니다.&lt;br /&gt;
   - /d0  : 약 40 TB RAID6 Disk&lt;br /&gt;
  : Sratch 디스크는  임시 저장공간으로 중요한 데이터 및 장기 보관 데이터는 반드시 Storage Element로 이동하여 주시기 바랍니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3088</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3088"/>
		<updated>2024-02-14T06:42:37Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 주의사항 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3087</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3087"/>
		<updated>2024-02-14T06:40:02Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 주의사항 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3086</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3086"/>
		<updated>2024-02-14T06:38:39Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 최대 작업시간 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;최대 작업시간&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
Dynamic slot으로 인해서 일부 연산노드에서는 기본 설정에서 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3085</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3085"/>
		<updated>2024-02-14T06:38:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* x509 proxy 사용 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== 최대 작업시간 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
Dynamic slot으로 인해서 일부 연산노드에서는 기본 설정에서 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3084</id>
		<title>News &amp; Notices</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3084"/>
		<updated>2024-02-14T06:36:41Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Notices ==&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| &amp;lt;u&amp;gt;HTCondor의 GPU 최대 작업시간이 연장되었습니다.&amp;lt;/u&amp;gt;]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[Uberftp|uberftp에 치명적인 버그가 있습니다. 사용에 주의하세요]] 2021.05.17&lt;br /&gt;
* [[HTCondorGPU|HTCondor에서 GPU 사용법 문서가 추가되었습니다.]] 2021.05.12&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 갱신되었습니다.]] 2021.03.31&lt;br /&gt;
* [[mosh|mosh  가이드가 등록되었습니다.]] 2021.03.17&lt;br /&gt;
* [[x2go|x2go를 이용한 원격데스크탑 가이드가 등록되었습니다.]] 2021.03.11&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 갱신되었습니다.]] 2021.03.05&lt;br /&gt;
* [[HTCondor에서 GPU 사용하기]] 2021.03.04&lt;br /&gt;
* [[Duc|자신의 디스크 사용량을 쉽게 확인할 수 있는 툴을 소개합니다.]] 2020.11.05&lt;br /&gt;
* [[CreamCE/SL6 서비스 종료]] 2020.10.15&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 작성중입니다.]] 2020.07.30&lt;br /&gt;
* [[CreamCE/Torque → HTCondorCE/HTCondor 이전 안내]] 2020.07.23&lt;br /&gt;
* 스토리지 엘리먼트가 1.45PB로 증가하였습니다.  2020.06.26&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 갱신 되었습니다.]] 2020.03.20&lt;br /&gt;
* [[Scratch Disk가 교체 및 증설 안내]] 2020.02.10&lt;br /&gt;
* [[Notion|Notion 문서를 추가하였습니다.]] 2019.09.20&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2019.08.30&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.12.10&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 추가 되었습니다.]] 2018.12.03&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 추가 되었습니다.]] 2018.11.08&lt;br /&gt;
* [[torque|Torque 사용법 문서가 갱신 되었습니다.]] 2018.10.15&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.08.31&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm에 큰 메모리를 사용하는 작업 전용의 queue를 추가하였습니다.]] 2018.07.13&lt;br /&gt;
* [[T2_KR_KNU_Decommissioned| 경북대 Tier2 서비스는 4월 30일자로 종료되고 해당자원은 Tier3로 통합됩니다.]] 2018.04.18&lt;br /&gt;
* cms03이 SL6로 업그레이드되었습니다. 2018.01.16&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2017.11.22&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 별도 분리되었습니다.]] 2017.11.22&lt;br /&gt;
* 스토리지 엘리먼트가 1.29PB로 증가하였습니다.  2017.10.12&lt;br /&gt;
* [[crab|Crab Tutorial을 업데이트 하였습니다.]] 2017.06.29&lt;br /&gt;
* [[Storage_Element_Tutorial#xrootd_.EB.A5.BC_.ED.99.9C.EC.9A.A9.ED.95.9C_SE_Data_.EC.A0.91.EA.B7.BC_.EB.B0.A9.EB.B2.95|Storage Element Tutorial에서 xrootd 관련 항목이 업데이트 되었습니다.]] 2017.06.15&lt;br /&gt;
* [[Webfts|WebFTS 사용법 항목이 추가되었습니다.]] 2017.04.14&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2016.12.06&lt;br /&gt;
* 스토리지 엘리먼트가 1.2PB로 증가하였습니다.  2016.12.05&lt;br /&gt;
* [[Task_monitoring_for_the_analysis_users|Analysis 사용자를 위한 작업 모니터링 가이드가 추가되었습니다.]] 2016.10.19&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드가 갱신되었습니다.]] 2016.10.07&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 추가되었습니다.]] 2016.10.06&lt;br /&gt;
* 스토리지 엘리먼트가 1PB로 증가하였습니다.  2016.08.10&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트를 UI에서 NFS로 바로 읽을 수 있습니다.]] 2016.07.19&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm의 queue에 대한 세부정보를 업데이트 하였습니다.]] 2016.02.12&lt;br /&gt;
* [[Motd|Tier2/3 UI motd(Message of the Day)에서 스토리지 엘리먼트를 비롯한 디스크 사용량을 확인할수 있습니다.]] 2015.12.28&lt;br /&gt;
* [[Ssh_Public_key_Authentication|보다 안전하고 편리한 ssh 공개키 인증 사용법 항목이 추가 되었습니다.]] 2015.12.28&lt;br /&gt;
* [[Create-batch|create-batch 사용법 항목이 추가 되었습니다.]] 2015.12.21&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[torque|Torque 사용법 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[crab|Crab Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[Q&amp;amp;A|Q&amp;amp;A 항목이 추가 되었습니다.]] 2015.10.12&lt;br /&gt;
* [[uberftp | uberftp 사용법 항목이 추가되었습니다.]] 2015.10.12 &lt;br /&gt;
* T2_KR_KNU 홈페이지가 리뉴얼 되었습니다. 2015.10.12&lt;br /&gt;
* [https://indico.cern.ch/event/386181/ 2015 CMS DAS (Data Analysis School) at Korea가 개최되었습니다.] 2015.08.25~29&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3083</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3083"/>
		<updated>2024-02-14T06:36:11Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039;  &amp;lt;img src=&amp;quot;http://t2-cms.knu.ac.kr/img/CMS-logo.gif&amp;quot; width=25&amp;gt;  =&lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
==News &amp;amp; Notices==&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| &amp;lt;u&amp;gt;HTCondor의 GPU 최대 작업시간이 연장되었습니다.&amp;lt;/u&amp;gt;]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/lcg_registration.php KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3082</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3082"/>
		<updated>2024-02-14T06:33:47Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 최대 작업시간 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;x509 proxy 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== 최대 작업시간 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
Dynamic slot으로 인해서 일부 연산노드에서는 기본 설정에서 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3081</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3081"/>
		<updated>2024-02-14T06:28:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 주의사항 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor/CentOS7 UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== Singularity를 이용하여 Scientific Linux 6 코드 실행  ===&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr            2          0          0&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr         211       1134          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
          Total               213               1134                  0&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;HTCondor에서 GPU 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;request_memory 관련&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;x509 proxy 사용&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== 최대 작업시간 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
Dynamic slot으로 인해서 일부 연산노드에서는 기본 설정에서 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Bitwarden&amp;diff=3079</id>
		<title>Bitwarden</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Bitwarden&amp;diff=3079"/>
		<updated>2023-12-13T07:04:41Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* bitwarden 소개 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== bitwarden  ==&lt;br /&gt;
&lt;br /&gt;
=== bitwarden 소개 ===&lt;br /&gt;
&lt;br /&gt;
bitwarden 은 패스워드 관리 프로그램입니다. 패스워드 관리 프로그램으로 서비스마다 별개의 패스워드를 사용하고, 복잡한 패스워드를 쉽게 관리할 수 있습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
패스워드 관리 프로그램으로 꼭 bitwarden을 사용할 필요는 없습니다. 하지만 패스워드 관리를 위해 패스워드 관리 프로그램은 꼭 사용하시기를 추천합니다.&lt;br /&gt;
&lt;br /&gt;
* 종단 간 암호화를 사용하여 로그인 정보를 보호하고 비밀번호 생성, 자동 채우기, 이중 인증 및 비밀번호 공유와 같은 기능을 제공합니다. &lt;br /&gt;
* 다양한 OS를 지원하고 무료 및 유료 버전을 제공합니다. &lt;br /&gt;
* 자신만의 서버를 별도로 운영할 수 있습니다. https://github.com/dani-garcia/vaultwarden&lt;br /&gt;
&lt;br /&gt;
패스워드 관리자를 사용하면&lt;br /&gt;
&lt;br /&gt;
* 마스터 패스워드 외 다른 패스워드를 기억할 필요가 없습니다.&lt;br /&gt;
* 복잡하고 안전한 패스워드를 쉽게 만들 수 있습니다. (어떤 패스워드가 좋을까? 더이상 고민할 필요가 없습니다.)&lt;br /&gt;
* 서비스 마다 다른 패스워드를 사용할 수 있습니다. (패스워드 유출로 인한 피해를 최소화 할 수 있습니다.)&lt;br /&gt;
&lt;br /&gt;
=== bitwarden 가입 === &lt;br /&gt;
&lt;br /&gt;
bitwarden에 가입하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# [https://bitwarden.com bitwarden 웹 사이트]로  이동하여 &amp;quot;[https://vault.bitwarden.com/#/register?layout=default 계정만들기]&amp;quot; 버튼을 클릭하십시오.&lt;br /&gt;
# 이메일 주소를 입력하고 계정의 마스터 비밀번호를 만드십시오.&lt;br /&gt;
# 안내에 따라 가입 절차를 완료합니다.&lt;br /&gt;
&lt;br /&gt;
=== bitwarden 다운로드 === &lt;br /&gt;
&lt;br /&gt;
bitwarden을 다운로드하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# [https://bitwarden.com/download/ bitwarden 다운로드 페이지]로 이동합니다.&lt;br /&gt;
# 기기에 맞는 앱을 다운로드하세요.&lt;br /&gt;
# 다양한 웹브라우저를 위한 확장 프로그램을 지원합니다.&lt;br /&gt;
&lt;br /&gt;
앱을 설치하고 이메일과 마스터 비밀번호를 사용하여 로그인합니다.&lt;br /&gt;
&lt;br /&gt;
=== 2단계 인증 활성화 === &lt;br /&gt;
안전을 위해서 반드시 2단계 인증을 활성화하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
# 웹페이지 접속해서 로그인합니다.&lt;br /&gt;
# [https://vault.bitwarden.com/#/settings/account Account Settings]을 선택합니다.&lt;br /&gt;
# [https://vault.bitwarden.com/#/settings/security/two-factor Security 항목의 2단계 인증]을 선택합니다.&lt;br /&gt;
&lt;br /&gt;
=== 볼트에 암호 추가 === &lt;br /&gt;
&lt;br /&gt;
bitwarden 볼트에 암호를 추가하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# bitwarden 계정에 로그인합니다.&lt;br /&gt;
# 새 비밀번호를 추가하려면 &amp;quot;항목 추가&amp;quot; 버튼을 클릭하십시오.&lt;br /&gt;
# 계정의 웹사이트 URL, 사용자 이름 및 비밀번호를 입력합니다.&lt;br /&gt;
&lt;br /&gt;
메모 또는 사용자 정의 필드와 같은 추가 정보를 추가할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== bitwarden을 사용하여 비밀번호 자동 완성 === &lt;br /&gt;
&lt;br /&gt;
bitwarden을 사용하여 비밀번호를 자동 완성하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# 로그인 페이지에 있을 때 브라우저에서 bitwarden 아이콘을 클릭하여 볼트에 액세스하십시오.&lt;br /&gt;
# 로그인하려는 계정을 선택하면 bitwarden이 사용자 이름과 비밀번호를 자동으로 채웁니다.&lt;br /&gt;
&lt;br /&gt;
=== 새 암호 생성 === &lt;br /&gt;
&lt;br /&gt;
새 암호를 생성하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# 새 비밀번호 항목을 추가할 때 &amp;quot;비밀번호 생성&amp;quot; 버튼을 클릭합니다.&lt;br /&gt;
# 암호의 길이, 복잡성 및 문자 유형을 사용자 지정합니다.&lt;br /&gt;
&lt;br /&gt;
bitwarden은 생성된 비밀번호를 자동으로 볼트에 저장합니다.&lt;br /&gt;
&lt;br /&gt;
=== 여러 장치에서 bitwarden 사용 === &lt;br /&gt;
&lt;br /&gt;
여러 장치에서 bitwarden을 사용하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# 볼트에 액세스하려면 각 장치에서 bitwarden 계정에 로그인하십시오.&lt;br /&gt;
# 비밀번호는 모든 기기에서 자동으로 동기화됩니다.&lt;br /&gt;
# 항상 강력한 마스터 암호를 사용하고 보안 강화를 위해 이중 인증을 활성화해야 합니다.&lt;br /&gt;
&lt;br /&gt;
==  bitwarden cli  ==&lt;br /&gt;
&lt;br /&gt;
* bitwarden cli는 command line에서 사용할 수 있는 bitwarden client 프로그램입니다.&lt;br /&gt;
* https://github.com/bitwarden/cli&lt;br /&gt;
&lt;br /&gt;
=== 설치 === &lt;br /&gt;
macOS, Windows 및 Linux 플랫폼에 bitwarden cli를 설치할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
brew, npm, choco는 os 환경에 맞게 사전에 설치해야합니다.&lt;br /&gt;
&lt;br /&gt;
* mac&lt;br /&gt;
  brew install bitwarden-cli&lt;br /&gt;
&lt;br /&gt;
* windows&lt;br /&gt;
  npm install -g @bitwarden/cli&lt;br /&gt;
  or&lt;br /&gt;
  choco install bitwarden-cli&lt;br /&gt;
&lt;br /&gt;
* linux&lt;br /&gt;
  npm install -g @bitwarden/cli&lt;br /&gt;
  or&lt;br /&gt;
  choco install bitwarden-cli&lt;br /&gt;
&lt;br /&gt;
=== 로그인 === &lt;br /&gt;
설치 후 이메일과 마스터 비밀번호를 사용하여 bitwarden 계정에 로그인해야 합니다. 이렇게 하려면 다음 명령을 실행합니다.&lt;br /&gt;
&lt;br /&gt;
 bw login&lt;br /&gt;
&lt;br /&gt;
* 처음에는 이메일과 마스터 비밀번호, API key client_secret 를 입력하라는 메시지가 표시됩니다.&lt;br /&gt;
* API key client_secret 는 비트워든 웹페이지에 로그인한 후, ACCOUNT SETTINGS - Security - [https://vault.bitwarden.com/#/settings/security/security-keys Keys] - API Key 보기 에서 client_secret을 확인 할 수 있습니다.&lt;br /&gt;
* BW_SESSION 환경변수를 이용하면 로그인 상태를 유지할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 명령 === &lt;br /&gt;
로그인하면 다음 기본 명령을 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* bw sync : 로컬 볼트를 Bitwarden 서버와 동기화합니다.&lt;br /&gt;
* bw list : 볼트에 있는 모든 항목을 나열합니다.&lt;br /&gt;
* bw get &amp;lt;item&amp;gt; : 저장소에서 특정 항목을 검색합니다.&lt;br /&gt;
* bw get password knu : knu 계정의 패스워드를 출력합니다.&lt;br /&gt;
* bw create &amp;lt;item&amp;gt; : 저장소에 새 항목을 만듭니다.&lt;br /&gt;
* bw edit &amp;lt;item&amp;gt; : 저장소에 있는 기존 항목을 편집합니다.&lt;br /&gt;
* bw delete &amp;lt;item&amp;gt; : 저장소에서 항목을 삭제합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;item&amp;gt;은 로그인, 보안 메모 또는 신용 카드와 같이 저장소에 있는 모든 유형의 항목이 될 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 고급 명령 === &lt;br /&gt;
&lt;br /&gt;
기본 명령 외에도 고급 명령을 사용하여 bitwarden 볼트를 관리할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* bw unlock : 현재 잠겨 있는 볼트를 잠금 해제합니다.&lt;br /&gt;
* bw logout : bitwarden 계정에서 로그아웃합니다.&lt;br /&gt;
* bw export : 저장소를 JSON 또는 CSV 파일로 내보냅니다.&lt;br /&gt;
* bw import : CSV 또는 Bitwarden JSON 파일에서 데이터를 가져옵니다.&lt;br /&gt;
* bw generate -lusn --length 12 : 영문 대소문자, 특수문자, 숫자를 조합한 임의의 12자리 암호를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 활용예 === &lt;br /&gt;
&lt;br /&gt;
* Mac) knu 계정의 패스워드를 검색해서 클립보드에 복사합니다. 클립보드에 복사한 패스워드를 붙여넣기해서 쉽게 패스워드를 입력할 수 있습니다.&lt;br /&gt;
 bw get password knu | pbcopy&lt;br /&gt;
* alias를 지정하면 더 편리하게 사용할 수 있습니다.&lt;br /&gt;
 alias knu=&#039;bw get password knu | pbcopy&#039;&lt;br /&gt;
 alias cern=&#039;bw get password cern | pbcopy&#039;&lt;br /&gt;
* Windows) Windows 에서는 pbcopy 대신 clip 명령을 사용합니다.&lt;br /&gt;
 bw get password knu | clip&lt;br /&gt;
* Linux) linux에서는 pbcopy 대용으로 xclip을 사용할 수 있습니다.&lt;br /&gt;
 alias pbcopy=&#039;xclip -selection clipboard&#039;&lt;br /&gt;
 bw get password knu | pbcopy&lt;br /&gt;
* 만약 clipboard history 툴을 사용하고 있다면 복사한 패스워드가 history에 기록 됩니다. Ignore 설정을 반드시 추가하여 저장되지 않도록 주의하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 보안 === &lt;br /&gt;
&lt;br /&gt;
bitwarden 볼트의 보안을 유지하려면 다음을 따라야 합니다.&lt;br /&gt;
&lt;br /&gt;
* 강력하고 고유한 마스터 암호를 사용하십시오.&lt;br /&gt;
* bitwarden 계정에 대해 이중 인증(2FA)을 활성화하십시오.&lt;br /&gt;
* 최신 보안 패치로 bitwarden cli를 최신 상태로 유지하세요.&lt;br /&gt;
* bitwarden 계정 정보를 누구와도 공유하지 마십시오.&lt;br /&gt;
* 개인 PC외 다른 곳에 client를 절대 설치하지 마세요.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Bitwarden&amp;diff=3078</id>
		<title>Bitwarden</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Bitwarden&amp;diff=3078"/>
		<updated>2023-12-13T07:04:01Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* bitwarden 소개 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== bitwarden  ==&lt;br /&gt;
&lt;br /&gt;
=== bitwarden 소개 ===&lt;br /&gt;
&lt;br /&gt;
bitwarden 은 패스워드 관리 프로그램입니다. 패스워드 관리 프로그램으로 서비스마다 별개의 패스워드를 사용하고, 복잡한 패스워드를 쉽게 관리할 수 있습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
패스워드 관리 프로그램으로 꼭 bitwarden을 사용할 필요는 없습니다. 하지만 패스워드 관리를 위해 패스워드 관리 프로그램은 꼭 사용하시기를 추천합니다.&lt;br /&gt;
&lt;br /&gt;
* 종단 간 암호화를 사용하여 로그인 정보를 보호하고 비밀번호 생성, 자동 채우기, 이중 인증 및 비밀번호 공유와 같은 기능을 제공합니다. &lt;br /&gt;
* 다양한 OS를 지원하고 무료 및 유료 버전을 제공합니다. &lt;br /&gt;
* 자신만의 서버를 별도로 운영할 수 있습니다. https://github.com/dani-garcia/vaultwarden&lt;br /&gt;
&lt;br /&gt;
패스워드 관리자를 사용하면&lt;br /&gt;
&lt;br /&gt;
* 마스터 패스워드 외 다른 패스워드를 기억할 필요가 없습니다.&lt;br /&gt;
* 복잡하고 안전한 패스워드를 쉽게 만들 수 있습니다. (어떤 패스워드가 좋을까? 더이상 고민할 필요가 없습니다.)&lt;br /&gt;
* 서비스 마다 다른 패스워드를 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== bitwarden 가입 === &lt;br /&gt;
&lt;br /&gt;
bitwarden에 가입하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# [https://bitwarden.com bitwarden 웹 사이트]로  이동하여 &amp;quot;[https://vault.bitwarden.com/#/register?layout=default 계정만들기]&amp;quot; 버튼을 클릭하십시오.&lt;br /&gt;
# 이메일 주소를 입력하고 계정의 마스터 비밀번호를 만드십시오.&lt;br /&gt;
# 안내에 따라 가입 절차를 완료합니다.&lt;br /&gt;
&lt;br /&gt;
=== bitwarden 다운로드 === &lt;br /&gt;
&lt;br /&gt;
bitwarden을 다운로드하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# [https://bitwarden.com/download/ bitwarden 다운로드 페이지]로 이동합니다.&lt;br /&gt;
# 기기에 맞는 앱을 다운로드하세요.&lt;br /&gt;
# 다양한 웹브라우저를 위한 확장 프로그램을 지원합니다.&lt;br /&gt;
&lt;br /&gt;
앱을 설치하고 이메일과 마스터 비밀번호를 사용하여 로그인합니다.&lt;br /&gt;
&lt;br /&gt;
=== 2단계 인증 활성화 === &lt;br /&gt;
안전을 위해서 반드시 2단계 인증을 활성화하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
# 웹페이지 접속해서 로그인합니다.&lt;br /&gt;
# [https://vault.bitwarden.com/#/settings/account Account Settings]을 선택합니다.&lt;br /&gt;
# [https://vault.bitwarden.com/#/settings/security/two-factor Security 항목의 2단계 인증]을 선택합니다.&lt;br /&gt;
&lt;br /&gt;
=== 볼트에 암호 추가 === &lt;br /&gt;
&lt;br /&gt;
bitwarden 볼트에 암호를 추가하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# bitwarden 계정에 로그인합니다.&lt;br /&gt;
# 새 비밀번호를 추가하려면 &amp;quot;항목 추가&amp;quot; 버튼을 클릭하십시오.&lt;br /&gt;
# 계정의 웹사이트 URL, 사용자 이름 및 비밀번호를 입력합니다.&lt;br /&gt;
&lt;br /&gt;
메모 또는 사용자 정의 필드와 같은 추가 정보를 추가할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== bitwarden을 사용하여 비밀번호 자동 완성 === &lt;br /&gt;
&lt;br /&gt;
bitwarden을 사용하여 비밀번호를 자동 완성하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# 로그인 페이지에 있을 때 브라우저에서 bitwarden 아이콘을 클릭하여 볼트에 액세스하십시오.&lt;br /&gt;
# 로그인하려는 계정을 선택하면 bitwarden이 사용자 이름과 비밀번호를 자동으로 채웁니다.&lt;br /&gt;
&lt;br /&gt;
=== 새 암호 생성 === &lt;br /&gt;
&lt;br /&gt;
새 암호를 생성하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# 새 비밀번호 항목을 추가할 때 &amp;quot;비밀번호 생성&amp;quot; 버튼을 클릭합니다.&lt;br /&gt;
# 암호의 길이, 복잡성 및 문자 유형을 사용자 지정합니다.&lt;br /&gt;
&lt;br /&gt;
bitwarden은 생성된 비밀번호를 자동으로 볼트에 저장합니다.&lt;br /&gt;
&lt;br /&gt;
=== 여러 장치에서 bitwarden 사용 === &lt;br /&gt;
&lt;br /&gt;
여러 장치에서 bitwarden을 사용하려면 다음 단계를 따르십시오.&lt;br /&gt;
&lt;br /&gt;
# 볼트에 액세스하려면 각 장치에서 bitwarden 계정에 로그인하십시오.&lt;br /&gt;
# 비밀번호는 모든 기기에서 자동으로 동기화됩니다.&lt;br /&gt;
# 항상 강력한 마스터 암호를 사용하고 보안 강화를 위해 이중 인증을 활성화해야 합니다.&lt;br /&gt;
&lt;br /&gt;
==  bitwarden cli  ==&lt;br /&gt;
&lt;br /&gt;
* bitwarden cli는 command line에서 사용할 수 있는 bitwarden client 프로그램입니다.&lt;br /&gt;
* https://github.com/bitwarden/cli&lt;br /&gt;
&lt;br /&gt;
=== 설치 === &lt;br /&gt;
macOS, Windows 및 Linux 플랫폼에 bitwarden cli를 설치할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
brew, npm, choco는 os 환경에 맞게 사전에 설치해야합니다.&lt;br /&gt;
&lt;br /&gt;
* mac&lt;br /&gt;
  brew install bitwarden-cli&lt;br /&gt;
&lt;br /&gt;
* windows&lt;br /&gt;
  npm install -g @bitwarden/cli&lt;br /&gt;
  or&lt;br /&gt;
  choco install bitwarden-cli&lt;br /&gt;
&lt;br /&gt;
* linux&lt;br /&gt;
  npm install -g @bitwarden/cli&lt;br /&gt;
  or&lt;br /&gt;
  choco install bitwarden-cli&lt;br /&gt;
&lt;br /&gt;
=== 로그인 === &lt;br /&gt;
설치 후 이메일과 마스터 비밀번호를 사용하여 bitwarden 계정에 로그인해야 합니다. 이렇게 하려면 다음 명령을 실행합니다.&lt;br /&gt;
&lt;br /&gt;
 bw login&lt;br /&gt;
&lt;br /&gt;
* 처음에는 이메일과 마스터 비밀번호, API key client_secret 를 입력하라는 메시지가 표시됩니다.&lt;br /&gt;
* API key client_secret 는 비트워든 웹페이지에 로그인한 후, ACCOUNT SETTINGS - Security - [https://vault.bitwarden.com/#/settings/security/security-keys Keys] - API Key 보기 에서 client_secret을 확인 할 수 있습니다.&lt;br /&gt;
* BW_SESSION 환경변수를 이용하면 로그인 상태를 유지할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 명령 === &lt;br /&gt;
로그인하면 다음 기본 명령을 사용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* bw sync : 로컬 볼트를 Bitwarden 서버와 동기화합니다.&lt;br /&gt;
* bw list : 볼트에 있는 모든 항목을 나열합니다.&lt;br /&gt;
* bw get &amp;lt;item&amp;gt; : 저장소에서 특정 항목을 검색합니다.&lt;br /&gt;
* bw get password knu : knu 계정의 패스워드를 출력합니다.&lt;br /&gt;
* bw create &amp;lt;item&amp;gt; : 저장소에 새 항목을 만듭니다.&lt;br /&gt;
* bw edit &amp;lt;item&amp;gt; : 저장소에 있는 기존 항목을 편집합니다.&lt;br /&gt;
* bw delete &amp;lt;item&amp;gt; : 저장소에서 항목을 삭제합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;item&amp;gt;은 로그인, 보안 메모 또는 신용 카드와 같이 저장소에 있는 모든 유형의 항목이 될 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 고급 명령 === &lt;br /&gt;
&lt;br /&gt;
기본 명령 외에도 고급 명령을 사용하여 bitwarden 볼트를 관리할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
* bw unlock : 현재 잠겨 있는 볼트를 잠금 해제합니다.&lt;br /&gt;
* bw logout : bitwarden 계정에서 로그아웃합니다.&lt;br /&gt;
* bw export : 저장소를 JSON 또는 CSV 파일로 내보냅니다.&lt;br /&gt;
* bw import : CSV 또는 Bitwarden JSON 파일에서 데이터를 가져옵니다.&lt;br /&gt;
* bw generate -lusn --length 12 : 영문 대소문자, 특수문자, 숫자를 조합한 임의의 12자리 암호를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 활용예 === &lt;br /&gt;
&lt;br /&gt;
* Mac) knu 계정의 패스워드를 검색해서 클립보드에 복사합니다. 클립보드에 복사한 패스워드를 붙여넣기해서 쉽게 패스워드를 입력할 수 있습니다.&lt;br /&gt;
 bw get password knu | pbcopy&lt;br /&gt;
* alias를 지정하면 더 편리하게 사용할 수 있습니다.&lt;br /&gt;
 alias knu=&#039;bw get password knu | pbcopy&#039;&lt;br /&gt;
 alias cern=&#039;bw get password cern | pbcopy&#039;&lt;br /&gt;
* Windows) Windows 에서는 pbcopy 대신 clip 명령을 사용합니다.&lt;br /&gt;
 bw get password knu | clip&lt;br /&gt;
* Linux) linux에서는 pbcopy 대용으로 xclip을 사용할 수 있습니다.&lt;br /&gt;
 alias pbcopy=&#039;xclip -selection clipboard&#039;&lt;br /&gt;
 bw get password knu | pbcopy&lt;br /&gt;
* 만약 clipboard history 툴을 사용하고 있다면 복사한 패스워드가 history에 기록 됩니다. Ignore 설정을 반드시 추가하여 저장되지 않도록 주의하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 보안 === &lt;br /&gt;
&lt;br /&gt;
bitwarden 볼트의 보안을 유지하려면 다음을 따라야 합니다.&lt;br /&gt;
&lt;br /&gt;
* 강력하고 고유한 마스터 암호를 사용하십시오.&lt;br /&gt;
* bitwarden 계정에 대해 이중 인증(2FA)을 활성화하십시오.&lt;br /&gt;
* 최신 보안 패치로 bitwarden cli를 최신 상태로 유지하세요.&lt;br /&gt;
* bitwarden 계정 정보를 누구와도 공유하지 마십시오.&lt;br /&gt;
* 개인 PC외 다른 곳에 client를 절대 설치하지 마세요.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=UserPolicy&amp;diff=3077</id>
		<title>UserPolicy</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=UserPolicy&amp;diff=3077"/>
		<updated>2023-10-17T09:02:40Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 저장자원 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== 경북대 고에너지물리연구소 수퍼컴퓨팅센터 / SUPERA 사용자 이용규정 (Draft) ==&lt;br /&gt;
 &lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
# 본 규정은 경북대학교 고에너지물리연구소 수퍼컴퓨팅센터 / SUPERA(이하 컴퓨팅 센터)의 전산자원의 사용 절차와 사용에 관한 사항을 규정합니다.&lt;br /&gt;
# 본 규정은 컴퓨팅 센터의 시스템을 사용하는 기관 및 개인 사용자에게 적용됩니다.&lt;br /&gt;
# 사용자는 컴퓨팅 센터에 액세스함으로써 이 정책과 규정을 준수하는 데 동의합니다.&lt;br /&gt;
&lt;br /&gt;
=== 이용자격 ===&lt;br /&gt;
시설의 사용은 다음의 대상으로 제한됩니다.&lt;br /&gt;
&lt;br /&gt;
# 경북대학교 고에너지 물리연구소 및 공동 연구 기관의 연구원 및 학생&lt;br /&gt;
# Korea CMS 실험에 참여하는 기관의 연구원 및 학생&lt;br /&gt;
&lt;br /&gt;
=== 사용신청 및 사용기간 ===&lt;br /&gt;
&lt;br /&gt;
# 이용을 희망하는 사용자는 계정신청서와 함께  정해진 양식의 사용계획서를 관리자에게 제출해야합니다. &lt;br /&gt;
# 사용기간은 사용계획서 상의 신청기간으로 하며 만료 되기전 갱신할 수 있습니다. &lt;br /&gt;
# 사용기간이 만료된 계정은 비활성 계정으로 전환되고 일정기간이 지난 후 삭제됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 접속 ===&lt;br /&gt;
&lt;br /&gt;
# 컴퓨팅 센터에 대한 액세스는 승인된 사용자로만 제한됩니다.&lt;br /&gt;
# 사용자는 자신의 로그인 자격 증명을 제3자와 공유해서는 안 됩니다.&lt;br /&gt;
# 컴퓨팅 센터는 이 정책을 준수하는지 확인하기 위해 사용자 활동을 모니터링할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 제한 ===&lt;br /&gt;
&lt;br /&gt;
# 컴퓨팅 센터는 연구 및 학습 목적으로만 사용해야 합니다.&lt;br /&gt;
# 사용자는 규정을 위반하거나 컴퓨팅 센터 또는 다른 사용자에게 해를 끼칠 수 있는 활동에 관여해서는 안 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 자원 배정 ===&lt;br /&gt;
&lt;br /&gt;
# 자원의 배정은 기본적인 분배량 외에 사용자의 추가적인 요청이 있을 때 SUPERA 운영진의 승인을 득한 후 조정할 수 있습니다.&lt;br /&gt;
# 관리자는 시스템 자원이 부족할 경우 모든 사용자들의 원활한 자원 사용을 위해 자원 분배를 SUPERA 운영진의 승인 후 조정할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 저장자원 ===&lt;br /&gt;
&lt;br /&gt;
# 사용자가 사용할수 있는 저장공간과 용도 및 허용 저장용량은 다음과 같습니다. &lt;br /&gt;
## 사용자 홈 디렉토리:  사용자 프로그램 설치 및 단기 데이터 저장, 개인당 200GB&lt;br /&gt;
## 스크레치 디스크: 작업을 위한 임시 데이터 저장&lt;br /&gt;
## Grid 스토리지 엘리먼트 홈저장공간:  개인 연구 데이터 장기 저장, 개인당  8TB&lt;br /&gt;
## Grid 스토리지 엘리먼트 그룹저장공간: 그룹 공용 연구 데이터 저장&lt;br /&gt;
# 저장공간 별 데이터 보관 기간&lt;br /&gt;
## 사용자 홈 디렉토리: 계정 사용기간 내&lt;br /&gt;
## 스크레치 디스크: 3개월&lt;br /&gt;
## Grid 스토리지 엘리먼트 홈저장공간: 계정 사용기간 내&lt;br /&gt;
## Grid 스토리지 엘리먼트 그룹저장공간: 계정 사용기간 내&lt;br /&gt;
# 데이터 보관기간을 초과하거나 용도와 다르게 사용된 데이터는 긴급 상황이 발생할 경우 관리자가 삭제할 수 있습니다.&lt;br /&gt;
## 총 사용자 홈디렉토리 디스크 저장 공간의 80%가 사용 될 경우, 관리자는 할당용량을 초과 사용한 사용자에게 통지하고 1 주일의 유예기간을 거쳐 오래 보관 된 데이터 부터 삭제할 수 있습니다.&lt;br /&gt;
## 스크레치 디스크에서는 매월 28일, 90일 이상된 데이터가 자동으로 삭제됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 비활성 계정의 데이터 보관 및 삭제 ===&lt;br /&gt;
# 비활성 계정의 데이터는 계정이 비활성화된 후 3개월(90일) 후 접근이 제한된 격리구역으로 이동됩니다. &lt;br /&gt;
# 비활성 계정의 데이터는 계정이 비활성화된 후 6개월(180일) 후 영구히 삭제됩니다.&lt;br /&gt;
# 관리자는 데이터 격리 구역 이동 전, 데이터 영구삭제 전에 사용자에게 안내 메일을 발송합니다. &lt;br /&gt;
# 긴급하게 저장공간이 확보되어야 하는 상황 발생 시 관리자는 비활성 계정의 데이터를 기간에 상관없이 삭제할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 금지된 활동 ===&lt;br /&gt;
다음 활동은 엄격히 금지됩니다.&lt;br /&gt;
&lt;br /&gt;
# 컴퓨팅 센터 또는 기타 시스템이나 네트워크에 대한 무단 액세스&lt;br /&gt;
# 바이러스, 맬웨어 또는 컴퓨팅 센터, 네트워크에 대한 유해한 소프트웨어 설치 및 사용&lt;br /&gt;
# 컴퓨팅 센터 또는 네트워크의 작동을 방해하거나 방해할 수 있는 활동에 참여&lt;br /&gt;
# 타인의 지적 재산권을 침해할 수 있는 모든 활동에 전산 센터를 사용하는 행위&lt;br /&gt;
&lt;br /&gt;
=== 보안 ===&lt;br /&gt;
&lt;br /&gt;
# 사용자는 자신의 계정과 컴퓨팅 센터에 저장된 모든 데이터의 보안을 보장하기 위해 적절한 조치를 취해야 합니다.&lt;br /&gt;
# 여기에는 강력한 암호 사용, 로그인 자격 증명 기밀 유지, 소프트웨어 최신 유지 등이 포함되지만 이에 국한되지 않습니다.&lt;br /&gt;
# 비밀번호 관리 정책&lt;br /&gt;
## 비밀번호의 유효기간은 1년으로 합니다.&lt;br /&gt;
## 비밀번호의 유효기간이 만료된 계정은 자동으로 비활성 계정으로 전환됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 위반 시 조치 ===&lt;br /&gt;
&lt;br /&gt;
# 본 정책을 위반한 경우, 사용자의 컴퓨팅 센터 액세스가 일시 중지 또는 종료될 수 있습니다.  &lt;br /&gt;
# 전산센터는 위반 사항이 있는 경우 해당 기관에 신고하며, 필요한 경우 법적 조치를 취할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 데이터 관리 및 백업 ===&lt;br /&gt;
&lt;br /&gt;
# 사용자는 자신의 데이터를 관리할 책임이 있습니다. 사용자는 자신의 데이터를 스스로 백업해야하며, 컴퓨팅 센터에서는 사용자의 데이터를 별도로 백업하지 않습니다. &lt;br /&gt;
# 사용자는 컴퓨팅 센터에서 시행 중인 모든 데이터 보호 정책을 준수해야 합니다.&lt;br /&gt;
&lt;br /&gt;
=== 면책 조항 ===&lt;br /&gt;
&lt;br /&gt;
# 컴퓨팅 센터는 컴퓨팅 센터 이용으로 인해 발생하는 어떠한 손실이나 손해에 대해서도 책임을 지지 않습니다.&lt;br /&gt;
&lt;br /&gt;
=== 정책 변경 ===&lt;br /&gt;
&lt;br /&gt;
# 본 컴퓨팅 센터는 센터의 사정에 의해 사전 통지 없이 이 정책을 변경할 수 있습니다. &lt;br /&gt;
# 사용자는 규정 준수를 위해 이 정책을 정기적으로 검토할 책임이 있습니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=UserPolicy&amp;diff=3076</id>
		<title>UserPolicy</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=UserPolicy&amp;diff=3076"/>
		<updated>2023-10-17T09:02:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* 저장자원 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== 경북대 고에너지물리연구소 수퍼컴퓨팅센터 / SUPERA 사용자 이용규정 (Draft) ==&lt;br /&gt;
 &lt;br /&gt;
=== 소개 ===&lt;br /&gt;
&lt;br /&gt;
# 본 규정은 경북대학교 고에너지물리연구소 수퍼컴퓨팅센터 / SUPERA(이하 컴퓨팅 센터)의 전산자원의 사용 절차와 사용에 관한 사항을 규정합니다.&lt;br /&gt;
# 본 규정은 컴퓨팅 센터의 시스템을 사용하는 기관 및 개인 사용자에게 적용됩니다.&lt;br /&gt;
# 사용자는 컴퓨팅 센터에 액세스함으로써 이 정책과 규정을 준수하는 데 동의합니다.&lt;br /&gt;
&lt;br /&gt;
=== 이용자격 ===&lt;br /&gt;
시설의 사용은 다음의 대상으로 제한됩니다.&lt;br /&gt;
&lt;br /&gt;
# 경북대학교 고에너지 물리연구소 및 공동 연구 기관의 연구원 및 학생&lt;br /&gt;
# Korea CMS 실험에 참여하는 기관의 연구원 및 학생&lt;br /&gt;
&lt;br /&gt;
=== 사용신청 및 사용기간 ===&lt;br /&gt;
&lt;br /&gt;
# 이용을 희망하는 사용자는 계정신청서와 함께  정해진 양식의 사용계획서를 관리자에게 제출해야합니다. &lt;br /&gt;
# 사용기간은 사용계획서 상의 신청기간으로 하며 만료 되기전 갱신할 수 있습니다. &lt;br /&gt;
# 사용기간이 만료된 계정은 비활성 계정으로 전환되고 일정기간이 지난 후 삭제됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 접속 ===&lt;br /&gt;
&lt;br /&gt;
# 컴퓨팅 센터에 대한 액세스는 승인된 사용자로만 제한됩니다.&lt;br /&gt;
# 사용자는 자신의 로그인 자격 증명을 제3자와 공유해서는 안 됩니다.&lt;br /&gt;
# 컴퓨팅 센터는 이 정책을 준수하는지 확인하기 위해 사용자 활동을 모니터링할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 제한 ===&lt;br /&gt;
&lt;br /&gt;
# 컴퓨팅 센터는 연구 및 학습 목적으로만 사용해야 합니다.&lt;br /&gt;
# 사용자는 규정을 위반하거나 컴퓨팅 센터 또는 다른 사용자에게 해를 끼칠 수 있는 활동에 관여해서는 안 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 자원 배정 ===&lt;br /&gt;
&lt;br /&gt;
# 자원의 배정은 기본적인 분배량 외에 사용자의 추가적인 요청이 있을 때 SUPERA 운영진의 승인을 득한 후 조정할 수 있습니다.&lt;br /&gt;
# 관리자는 시스템 자원이 부족할 경우 모든 사용자들의 원활한 자원 사용을 위해 자원 분배를 SUPERA 운영진의 승인 후 조정할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 저장자원 ===&lt;br /&gt;
&lt;br /&gt;
# 사용자가 사용할수 있는 저장공간과 용도 및 허용 저장용량은 다음과 같습니다. &lt;br /&gt;
## 사용자 홈 디렉토리:  사용자 프로그램 설치 및 단기 데이터 저장, 개인당 200GB&lt;br /&gt;
## 스크래치 디스크: 작업을 위한 임시 데이터 저장&lt;br /&gt;
## Grid 스토리지 엘리먼트 홈저장공간:  개인 연구 데이터 장기 저장, 개인당  8TB&lt;br /&gt;
## Grid 스토리지 엘리먼트 그룹저장공간: 그룹 공용 연구 데이터 저장&lt;br /&gt;
# 저장공간 별 데이터 보관 기간&lt;br /&gt;
## 사용자 홈 디렉토리: 계정 사용기간 내&lt;br /&gt;
## 스크래치 디스크: 3개월&lt;br /&gt;
## Grid 스토리지 엘리먼트 홈저장공간: 계정 사용기간 내&lt;br /&gt;
## Grid 스토리지 엘리먼트 그룹저장공간: 계정 사용기간 내&lt;br /&gt;
# 데이터 보관기간을 초과하거나 용도와 다르게 사용된 데이터는 긴급 상황이 발생할 경우 관리자가 삭제할 수 있습니다.&lt;br /&gt;
## 총 사용자 홈디렉토리 디스크 저장 공간의 80%가 사용 될 경우, 관리자는 할당용량을 초과 사용한 사용자에게 통지하고 1 주일의 유예기간을 거쳐 오래 보관 된 데이터 부터 삭제할 수 있습니다.&lt;br /&gt;
## 스크레치 디스크에서는 매월 28일, 90일 이상된 데이터가 자동으로 삭제됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 비활성 계정의 데이터 보관 및 삭제 ===&lt;br /&gt;
# 비활성 계정의 데이터는 계정이 비활성화된 후 3개월(90일) 후 접근이 제한된 격리구역으로 이동됩니다. &lt;br /&gt;
# 비활성 계정의 데이터는 계정이 비활성화된 후 6개월(180일) 후 영구히 삭제됩니다.&lt;br /&gt;
# 관리자는 데이터 격리 구역 이동 전, 데이터 영구삭제 전에 사용자에게 안내 메일을 발송합니다. &lt;br /&gt;
# 긴급하게 저장공간이 확보되어야 하는 상황 발생 시 관리자는 비활성 계정의 데이터를 기간에 상관없이 삭제할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 금지된 활동 ===&lt;br /&gt;
다음 활동은 엄격히 금지됩니다.&lt;br /&gt;
&lt;br /&gt;
# 컴퓨팅 센터 또는 기타 시스템이나 네트워크에 대한 무단 액세스&lt;br /&gt;
# 바이러스, 맬웨어 또는 컴퓨팅 센터, 네트워크에 대한 유해한 소프트웨어 설치 및 사용&lt;br /&gt;
# 컴퓨팅 센터 또는 네트워크의 작동을 방해하거나 방해할 수 있는 활동에 참여&lt;br /&gt;
# 타인의 지적 재산권을 침해할 수 있는 모든 활동에 전산 센터를 사용하는 행위&lt;br /&gt;
&lt;br /&gt;
=== 보안 ===&lt;br /&gt;
&lt;br /&gt;
# 사용자는 자신의 계정과 컴퓨팅 센터에 저장된 모든 데이터의 보안을 보장하기 위해 적절한 조치를 취해야 합니다.&lt;br /&gt;
# 여기에는 강력한 암호 사용, 로그인 자격 증명 기밀 유지, 소프트웨어 최신 유지 등이 포함되지만 이에 국한되지 않습니다.&lt;br /&gt;
# 비밀번호 관리 정책&lt;br /&gt;
## 비밀번호의 유효기간은 1년으로 합니다.&lt;br /&gt;
## 비밀번호의 유효기간이 만료된 계정은 자동으로 비활성 계정으로 전환됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 위반 시 조치 ===&lt;br /&gt;
&lt;br /&gt;
# 본 정책을 위반한 경우, 사용자의 컴퓨팅 센터 액세스가 일시 중지 또는 종료될 수 있습니다.  &lt;br /&gt;
# 전산센터는 위반 사항이 있는 경우 해당 기관에 신고하며, 필요한 경우 법적 조치를 취할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 데이터 관리 및 백업 ===&lt;br /&gt;
&lt;br /&gt;
# 사용자는 자신의 데이터를 관리할 책임이 있습니다. 사용자는 자신의 데이터를 스스로 백업해야하며, 컴퓨팅 센터에서는 사용자의 데이터를 별도로 백업하지 않습니다. &lt;br /&gt;
# 사용자는 컴퓨팅 센터에서 시행 중인 모든 데이터 보호 정책을 준수해야 합니다.&lt;br /&gt;
&lt;br /&gt;
=== 면책 조항 ===&lt;br /&gt;
&lt;br /&gt;
# 컴퓨팅 센터는 컴퓨팅 센터 이용으로 인해 발생하는 어떠한 손실이나 손해에 대해서도 책임을 지지 않습니다.&lt;br /&gt;
&lt;br /&gt;
=== 정책 변경 ===&lt;br /&gt;
&lt;br /&gt;
# 본 컴퓨팅 센터는 센터의 사정에 의해 사전 통지 없이 이 정책을 변경할 수 있습니다. &lt;br /&gt;
# 사용자는 규정 준수를 위해 이 정책을 정기적으로 검토할 책임이 있습니다.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>