May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster...

22
May 4, 2007 May 4, 2007 The Corradino Group The Corradino Group SE Florida Model Users Group SE Florida Model Users Group 1 SERPM-6 and Cube SERPM-6 and Cube Cluster Cluster Corradino’s Initial Corradino’s Initial Experience Experience

Transcript of May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster...

Page 1: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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

Page 2: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 3: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 4: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 5: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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)

Page 6: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 7: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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)

Page 8: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 9: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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!

Page 10: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 11: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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)

Page 12: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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)

Page 13: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 14: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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

Page 15: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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"

Page 16: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 17: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.

Page 18: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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)

Page 19: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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

Page 20: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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"

Page 21: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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)

Page 22: May 4, 2007 The Corradino Group SE Florida Model Users Group 1 SERPM-6 and Cube Cluster Corradino’s Initial Experience.

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.