View
215
Download
0
Category
Tags:
Preview:
Citation preview
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
11
SERPM-6 and Cube SERPM-6 and Cube ClusterCluster
Corradino’s Initial Corradino’s Initial ExperienceExperience
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
22
Why Cluster?Why Cluster?
Reduce running time for long model Reduce running time for long model runs.runs.
HIGHLY DEPENDENT ON YOUR HIGHLY DEPENDENT ON YOUR HARDWARE!HARDWARE!
SERPM-6 2000 Base year (3.2 GH SERPM-6 2000 Base year (3.2 GH Pentium) = 22 hours.Pentium) = 22 hours.
With 3 cores = 14 hours (overnight).With 3 cores = 14 hours (overnight). Much greater savings with more cores Much greater savings with more cores
and Core 2 Duo hardware (we don’t and Core 2 Duo hardware (we don’t have these yet).have these yet).
For example, ODOT uses 32 cores.For example, ODOT uses 32 cores.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
33
IssuesIssues
Networking and Security – Networking and Security – the hard the hard part (what Citilabs doesn’t tell you part (what Citilabs doesn’t tell you much about).much about).
Modifying your setup to use Cluster – Modifying your setup to use Cluster – the easy part.the easy part.
After modification the process will run After modification the process will run on a single processor, so the ability to on a single processor, so the ability to distribute the model setup is not distribute the model setup is not affected.affected.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
44
Computer Network Computer Network IssuesIssues All processors must see the All processors must see the
model folder exactly the same model folder exactly the same way, even the host processor.way, even the host processor.
All processors must have the All processors must have the appropriate license.appropriate license.
All processors must have the All processors must have the appropriate rights.appropriate rights.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
55
LicensesLicenses
Host must have a Cube Voyager Host must have a Cube Voyager Cluster license.Cluster license.
Nodes must have either:Nodes must have either:– Cube Voyager licenseCube Voyager license– Node licenseNode license
(see your Citilabs representative)(see your Citilabs representative)
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
66
Where’s the model?Where’s the model?
Map to a common drive – we like z:Map to a common drive – we like z: Everybody, including the host Everybody, including the host
computer, must map to z:computer, must map to z: Everybody must have rights.Everybody must have rights.1.1. Share the folder.Share the folder.2.2. On EVERY computer map to z:On EVERY computer map to z:3.3. Give every USER rights to READ Give every USER rights to READ
and WRITE.and WRITE.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
77
How to share:How to share:(You must be an administrator)(You must be an administrator)
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
88
Add Users and Add Users and PermissionsPermissions Usually the login name (who the Usually the login name (who the
network thinks you are)network thinks you are) We also had to do it for the “Host” – We also had to do it for the “Host” –
the user that is actually running Cube.the user that is actually running Cube. Required READ and WRITE Required READ and WRITE
permissions. Also the Security tab. Get permissions. Also the Security tab. Get help from your IT expert.help from your IT expert.
Test by trying to copy a file from the Test by trying to copy a file from the node location to the mapped Z: If this node location to the mapped Z: If this doesn’t work, Cluster won’t work.doesn’t work, Cluster won’t work.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
99
How to Map – How to Map – everybody!everybody!
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1010
Then start the nodes Then start the nodes (Cluster)(Cluster) Must use a consistent folder and Must use a consistent folder and
process ID, Likeprocess ID, Like Z:\cube\SERPM6ID – this a folder, Z:\cube\SERPM6ID – this a folder,
like cube, on the mapped drive z:, like cube, on the mapped drive z:, with some identifier SERPM6ID.with some identifier SERPM6ID.
The identifier must be the same The identifier must be the same one you use in the Voyager script.one you use in the Voyager script.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1111
Nodes (here are 2 remote Nodes (here are 2 remote nodes)nodes)
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1212
How Ken Does it.How Ken Does it.
Automate with a Visual Basic Automate with a Visual Basic ScriptScript
Map drives and foldersMap drives and folders Establish the ProcessIDEstablish the ProcessID Starts the nodes (Cluster)Starts the nodes (Cluster)
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1313
Process IDProcess ID
In the following slides note the In the following slides note the process ID = SERPM6IDprocess ID = SERPM6ID
This MUST be the same as in the This MUST be the same as in the ProcessID used when you start ProcessID used when you start Cluster.Cluster.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1414
VB ScriptVB ScriptThis script maps a drive and then starts a CUBE ClusterThis script maps a drive and then starts a CUBE Cluster'KDK 2-6-2007'KDK 2-6-2007'The Corradino Group'The Corradino Group
'****** INPUT VARIABLES ***********************************'****** INPUT VARIABLES ***********************************'Specify what folder to map -- this must the shared folder visible to the network where the model catalog 'Specify what folder to map -- this must the shared folder visible to the network where the model catalog
residesresidesmodel_folder="\\Tcg-lvl-0218\S6-HOT"model_folder="\\Tcg-lvl-0218\S6-HOT"'Specify drive to map to. Use Z: unless at sometime Z: is not available (very unusual)'Specify drive to map to. Use Z: unless at sometime Z: is not available (very unusual)drive="Z:"drive="Z:"'Specify process ID. This must be a subfolder of the mapped folder and then an ID name, like \CUBE\SERPM6ID'Specify process ID. This must be a subfolder of the mapped folder and then an ID name, like \CUBE\SERPM6IDprocessid="\cube\SERPM6ID"processid="\cube\SERPM6ID"'Specify process numbers (list or range) ; for example 2-3 starts processes 2 and 3, 4-5,7 starts 4 and 5 and 'Specify process numbers (list or range) ; for example 2-3 starts processes 2 and 3, 4-5,7 starts 4 and 5 and
77nums="2-3"nums="2-3"
'*******end input variables**************************************'*******end input variables**************************************' DO NOT TOUCH THE FOLLOWING LINES IF YOU DO NOT KNOW WHAT YOU ARE DOING' DO NOT TOUCH THE FOLLOWING LINES IF YOU DO NOT KNOW WHAT YOU ARE DOING
'Create the shell for the process'Create the shell for the processSet objShell = CreateObject("Wscript.Shell")Set objShell = CreateObject("Wscript.Shell")
'Ignore the errors if drive not mapped or already mapped'Ignore the errors if drive not mapped or already mappedOn Error Resume NextOn Error Resume Next'Map the drive'Map the driveSet objNetwork = CreateObject("Wscript.Network")Set objNetwork = CreateObject("Wscript.Network")objNetwork.RemoveNetworkDrive driveobjNetwork.RemoveNetworkDrive driveobjNetwork.MapNetworkDrive drive, model_folderobjNetwork.MapNetworkDrive drive, model_folder'WScript.Echo "Drive Mapped!"'WScript.Echo "Drive Mapped!"On Error GoTo 0On Error GoTo 0
'Start the CLUSTER program'Start the CLUSTER programmyargs=drive & processid & " " & nums & " Start Exit"myargs=drive & processid & " " & nums & " Start Exit"CLUSTER="""C:\program files\citilabs\CUBE\CLUSTER""" & " " & myargsCLUSTER="""C:\program files\citilabs\CUBE\CLUSTER""" & " " & myargs'WScript.Echo CLUSTER'WScript.Echo CLUSTERobjShell.Run CLUSTERobjShell.Run CLUSTER
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1515
Script Inputs (only 4)Script Inputs (only 4)(always run from the remote nodes)(always run from the remote nodes)
The model folder to be mapped to z:The model folder to be mapped to z:model_folder=model_folder="\\Tcg-lvl-0218\S6-HOT""\\Tcg-lvl-0218\S6-HOT"
The name of the mapped driveThe name of the mapped drive
drive="Z:"drive="Z:" The ProcessID (also in the Voyager script)The ProcessID (also in the Voyager script)
processid="\cube\SERPM6ID"processid="\cube\SERPM6ID" The remote nodes (on the remote The remote nodes (on the remote
machine)machine)
nums="2-3"nums="2-3"
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1616
Interstep - IntrastepInterstep - Intrastep
Interstep – You must program the Interstep – You must program the logic. Can be used with any logic. Can be used with any process where the logic fits.process where the logic fits.
Intrastep – Voyager takes care of Intrastep – Voyager takes care of the logic, but available only for the logic, but available only for HIGHWAY and MATRIX.HIGHWAY and MATRIX.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1717
Insert Control BoxesInsert Control Boxes
Cluster is an option on the Cluster is an option on the CControl ontrol menu.menu.
Insert a Start.Insert a Start. Insert an End.Insert an End. Positions determined by Positions determined by
execution order like all items in a execution order like all items in a flowchart.flowchart.
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1818
Interstep (multiple Interstep (multiple assignments)assignments)
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
1919
Pilot Script to “Wait”Pilot Script to “Wait”
; Do not change filenames or add or ; Do not change filenames or add or remove FILEI/FILEO statements using remove FILEI/FILEO statements using an editor. Use Cube/Application an editor. Use Cube/Application Manager.Manager.
Wait4Files Files= SERPM6ID2.script.end, Wait4Files Files= SERPM6ID2.script.end, SERPM6ID3.script.end, SERPM6ID3.script.end, CheckReturnCode=T, CheckReturnCode=T, PrintFiles=MERGE, DelDistribFiles=FPrintFiles=MERGE, DelDistribFiles=F
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
2020
IntrastepIntrastep
; Do not change filenames or add or remove FILEI/FILEO ; Do not change filenames or add or remove FILEI/FILEO statements using an editor. Use Cube/Application statements using an editor. Use Cube/Application Manager.Manager.
RUN PGM=MATRIX PRNFILE="E:\S6-HOT\CUBE\RUN PGM=MATRIX PRNFILE="E:\S6-HOT\CUBE\ODMAT00B.PRN" MSG='Assemble 1+ Veh OPTrips & ODMAT00B.PRN" MSG='Assemble 1+ Veh OPTrips & Create Temp File for Final Mode Choice'Create Temp File for Final Mode Choice'
DISTRIBUTEINTRASTEP DISTRIBUTEINTRASTEP ProcessID='SERPM6ID',ProcessList=1-4ProcessID='SERPM6ID',ProcessList=1-4
FILEI MATI[2] = "{OUTDIR}\PSCHOOL_{ALT}{YEAR}.MAT"FILEI MATI[2] = "{OUTDIR}\PSCHOOL_{ALT}{YEAR}.MAT"
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
2121
Intrastep ProgramsIntrastep Programs
HighwayHighway MatrixMatrix
NOT – Distribution (would be NOT – Distribution (would be valuable)valuable)
May 4, 2007May 4, 2007 The Corradino GroupThe Corradino GroupSE Florida Model Users GroupSE Florida Model Users Group
2222
CONCLUSIONCONCLUSION
Great way to speed up the model Great way to speed up the model runsruns
We like it, but We like it, but Should be easier.Should be easier. We know a product that uses We know a product that uses
whatever processors it can find in whatever processors it can find in the host machine and requires not the host machine and requires not setup. Can’t use remote machines.setup. Can’t use remote machines.
Recommended