1 შესავალი GRID-ტექნოლოგიებში GRID...
date post
31-Dec-2016Category
Documents
view
256download
20
Embed Size (px)
Transcript of 1 შესავალი GRID-ტექნოლოგიებში GRID...
1
GRID-
GRID , , ( , ). , . GRID , , , , . GRID_ :
-
- -
-
GRID , , , , , (Virtual Organization-VO , . ) . GRID , (, , ), , . : world wide web (WWW) , . WWW- GRID , , . GRID , GRID-
2
, . GRID (middlware, EMI), , , ( 1).
1
GRID-
GRID middlware_ . . GRID- , . :
User Interface, UI Workload Management System,WMS Logging and Bookkeeping, LB
Virtual Organization Management service, VOMS
Berkeley Database Information Index, BDII Computing Element, CE Worker Nodes, WN Storage Element, SE File catalog, LFC MyProxy
3
UI
GRID- . , , .
WMS
, ( CE- WN-), , . (Job Description Language, JDL) . GRID- JDL- . , ( , ..).
LB
WMS- , WMS- , .
VOMS
. VOMS MySQL- ORACLE-. GRID- . . , , . VOMS . . , ( , ..)
4
BDII
GRID . : BDII core(resource level), BDII site BDII top. BDII core GRID- . GRID BDII site . BDII core-. BDII top BDII site-. VO- BDII top-, - . BDII top- .
2
BDII . , , LDAP (Lightweight Directory Access Protocol - ) Data Interchange Format (LDIF) (.2). BDII- . Generic Information Provider (GIP) , . , . GLUE . Freedom of Choice for Resources mechanism (FCR) BDII top- VO- . FCR VO- . VO ( ). BDII top.
5
CE
. (, ..). WMS-, CE- matchmaking . CE- push ( CE-) pull ( CE WMS- ). , CE- . push match making , . pull CE availability WMS- CE-. matchmaker CE- (. 3).
3
WN
GRID CE- . WN CE- . , WN , .
SE
6
. SE- , (MSS). . SE , : GSIFTP (a GSI-secure FTP), RFIO, (gsi)dcap, xroot, NFS 4.1. Storage Resource Manager (SRM)- , , .. SRM .
: - Disk Pool Manager (DPM),
. - CASTOR MSS (
) . - DCACHE MSS . - StoRM BestMAN.
Type Resources File transfer File I/O SRM CASTOR MSS GSIFTP Insecure RFIO Yes Yes dCache Disks/MSS GSIFTP gsidcap Yes DPM Disks GSIFTP secure RFIO Yes StoRM Disks/MSS GSIFTP direct file access Yes GrifFTP server Disks GSIFTP No Xrootd Disks xrootd xrootd No
7
4
GRID-
GRID- , .
GRID-, GRID- . . , :
A (PublicKey), A- .
A (PrivateKey), .
Private Key , . Private Key . Public Key-. Public Key- Private Key- , ( ), Private Key- Public Key- . . , .
, . , , . .
8
, , , . : , , . A- , .
, . .
GRID- (Grid Security Infrastructure, GSI) , GRID- . , , . GSI- X.509. , , , , , .. (Certification Authority - CA), , . , CA . CA- (.5).
() CA- . , .
9
5
Web- , , . , .. , ? GRID (Registration Authority - RA) . CA RA- , . Public Key X.509 . Subject Name (SN), :
/C=UK/O=eScience/OU=CLRC/L=RAL/CN=John Doe
Distinguished Name (DN)- , GRID-. DN- , , SN . , . , . Private and Public Key, SN . Private Key- .
10
. - . . .
PEM ( .pem) PKCS12 ( .p12 .pfx) . openssl . PKCS12 PEM-: $ openssl pkcs12 -nocerts -in my_cert.p12 -out userkey.pem $ openssl pkcs12 -clcerts -nokeys -in my_cert.p12 -out usercert.pem : my cert.p12 PKCS12 ; userkey.pem private key ; usercert.pem PEM . userkey.pem usercert.pem UI-.
JDL
JDL . , , ( , ,.) . . JDL :
attribute = expression;
, -. . backslash- (: Arguments = "\"hello\" 10"). # // , /* */ .
hostname WN- : Executable = "/bin/hostname"; StdOutput = "std.out"; StdError = "std.err";
11
Executable . WN- (path); UI- UI- InputSandbox . :
Executable = "test.sh"; InputSandbox = {"/home/doe/test.sh"}; StdOutput = "std.out"; StdError = "std.err";
Arguments , Executable-:
Arguments = "fileA 10";
Executable Arguments &, \, |, >,
12
, WN-. shell Environment . :
Environment = {"CMS_PATH=$HOME/cms", "CMS_DB=$CMS_PATH/cmdb"};
, JDL :
Executable = "test.sh"; Arguments = "fileA fileB"; StdOutput = "std.out"; StdError = "std.err"; InputSandbox = {"test.sh", "fileA", "fileB"}; OutputSandbox = {"std.out", "std.err"};
test.sh :
#!/bin/sh echo "First file:" cat $1 echo "Second file:" cat $2
Requirements . (Boolean) (true) CE-. BDII- GLUE , other.- . Requirements . . Requirements .
, CE- PBS- batch WN- . : Requirements = other.GlueCEInfoLRMSType == "PBS" && other.GlueCEInfoTotalCPUs > 1;
WMS- CE- :
Requirements = other.GlueCEUniqueID == "lxshare0286.cern.ch:2119/jobmanager-pbs-short";
CE- :
Requirements = other.GlueCEInfoHostName == "lxshare0286.cern.ch";
13
, CPU wallclock () . CPU 12 wallclock :
Requirements = other.GlueCEPolicyMaxCPUTime > 480 &&other.GlueCEPolicyMaxWallClockTime > 720;
batch . CPU CPU , GlueHostBenchmarkSI00 . 720 1000- CPU-, :
Requirements = other.GlueCEPolicyMaxCPUTime >(720 * 1000 / other.GlueHostBenchmarkSI00);
CE- VO- CE- , :
Requirements = Member("VO-cms-CMSSW_2_0_0",other.GlueHostApplicationSoftwareRunTimeEnvironment);
Member ( ) () . GlueHostApplicationSoftwareRunTimeEnvironment VO- CE- ( VO- CE-). : Requirements = RegExp("cern.ch", other.GlueCEUniqueID);
:
Requirements = (!RegExp("cern.ch", other.GlueCEUniqueID));
CE . JDL- :
Requirements = ( other.GlueHostOperatingSystemName == "CentOS" || RegExp("Scientific", other.GlueHostOperatingSystemName) || RegExp("Enterprise", other.GlueHostOperatingSystemName) ) && ( other.GlueHostOperatingSystemRelease >= 5 && other.GlueHostOperatingSystemRelease < 6
14
) ; :
SN = other.GlueHostOperatingSystemName ; SR = other.GlueHostOperatingSystemRelease ; SL5 = ( SN == "CentOS" || RegExp("Scientific", SN) || RegExp("Enterprise", SN) ) &&( SR >= 5 && SR < 6 ) ; Requirements = SL5 ;
Requirements CE- :
Intel i386-i686 Requirements = other.GlueHostArchitecturePlatformType is UNDEFINED || RegExp("i[3456]86",other.GlueHostArchitecturePlatformType) ;
64-bit Xeon and Opteron Requirements = (other.GlueHostArchitecturePlatformType == "x86_64") ;
64-bit Itanium Requirements = (other.GlueHostArchitecturePlatformType == "ia64") ;
CE- SE- , :
Member("srm.pic.es", other.GlueCESEBindGroupSEUniqueID);
alice VO CE- , (:VO-alice-AliEn and VO-alice-ALICE-v4-01-Rev-01) ( ):
Requirements = other.GlueHostNetworkAdapterOutboundIP==true && Member("VO-alice-AliEn", other.GlueHostApplicationSoftwareRunTimeEnvironment) && Member("VO-alice-ALICE-v4-01", other.GlueHostApplicationSoftwareRunTimeEnvironment) && (other.GlueCEPolicyMaxWallClockTime> 1440 );
WMS- , GRID- . deep resubmission shallowresubmission. deep resubmission- WN- , shallowresubmission.
WMS- RetryCount ShallowRetryCount :
RetryCount = 0; ShallowRetryCount = 3;
15
deep resubmission- , ( ). shallowresubmission- . WMS- , default MyProxy ( MYPROXY_SERVER MyProxy ) UI- WMS- . WMS- MyProxy JDL :
MyProxyServer = "myproxy.cern.ch";
:
MyProxyServer = "";
CE- CE- (rank), .
-other.GlueCEStateEstimatedResponseTime, . CE- Rank :
Rank = other.GlueCEStateFreeCPUs;
CPU- . :
Rank = ( other.GlueCEStateWaitingJobs == 0 ? other.GlueCEStateFreeCPUs : -other.GlueCEStateWaitingJobs);
CE- .
JDL . InputData = {"LF:file1.txt"}; ReplicaCatalog="ldap://lhc20.sinp.msu.ru:9011/rc=Testbed\Replica Catalog,dc=lxshare0226,dc=cern,dc=ch"; DataAccessProtocol = {"file", "gridftp"};
Replica Catalog InputData . . (storage element):
16
OutputSE = "gppse05.gridpp.rl.ac.uk";
. :
glite-wms-job-list-match
JDL , .
GRID
GRID UI . GRID- ( - proxy), (userke