170 likes | 329 Views
Jungle The C++ simulator for APEmille. Andrea Michelotti for the APE collaboration michelotti@roma1.infn.it I Workshop INFN sul software e calcolo moderno ‘97 - Napoli - February 6-7, 1997. APEmille : Array processor SIMD architecture with local addressing 66 MHz clock frequency
E N D
Jungle The C++ simulator for APEmille Andrea Michelotti for the APE collaboration michelotti@roma1.infn.it I Workshop INFN sul software e calcolo moderno ‘97 - Napoli - February 6-7, 1997 Andrea Michelotti: Jungle, the C++ simulator for APEmille
APEmille: • Array processor • SIMD architecture with local addressing • 66 MHz clock frequency • Scalable from 4Gflop/s to 1.1Tflop/s • RAM from 64Mbytes to 64Gbytes • Suited for Lattice QCD applications = Processing Node = Internode Hardware link
APEmille numbers: • clock frequency 66MHz • peek performance • node 528 MFlop • board 4.2 GFlop • subcrate 16.9 GFlop • crate 67.5 GFlop • tower 270 GFlop • APEmille 1.1 TFlop • memories: • Tarzan data STATIC 256 KBytes • Program SDRAM 512 KWord x 192 bits • Jane data SDRAM 8 .. 32 MBytes • board: 64 .. 256 MBytes • tower: 4 .. 16 Gbytes • APEmille: 16 .. 64 Gbytes • APEChannel: 32bit channel; excess of 100MByte/sec bandwidth
The Processing Board: • 1 controller processor named Tarzan • 8 processing nodes named Janes • 1 communication processor named Cheetah P NODE1 NODE2 NODE3 NODE0 R NODE4 NODE5 NODE6 NODE7 O G M synchronization CHEETAH E M signals D APECHANNEL TARZAN A T A Andrea Michelotti: Jungle, the C++ simulator for APEmille
PC Slave ApeNic PBs PCs Backplane ApeChannel Crate up to 4 PBs ApeUnit Andrea Michelotti: Jungle, the C++ simulator for APEmille
PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB PB A p e U n i t NIC NIC NIC NIC NIC NIC NIC NIC PC PC PC PC PC PC PC PC Control Network Andrea Michelotti: Jungle, the C++ simulator for APEmille
What does Jungle do? a complete and thorough behavioral simulation, needed for: softwaredevelopment (OS, compilation chain) checkofhardware solutions performance evaluation test vectorgeneration for hardware testing Andrea Michelotti: Jungle, the C++ simulator for APEmille
ApeMille software activities Andrea Michelotti: Jungle, the C++ simulator for APEmille
Why have we chosen C++? (since 1992) • Powerful methodology for designand maintenance of large S/W projects. • Classes allow a logicsubdivision of the code in distinctcomponents. • Provides an efficient handle on complexity of the problem. Andrea Michelotti: Jungle, the C++ simulator for APEmille
The SIM++ library • Basic classes: • DEVICE • All device-objects are derived from this class. • A “grey box” which communicates through input and outputports. • It contains others device-objects. • USER_DEVICE • This class is derived from DEVICE class, but containsno other objects. • The user transfer functionis defined in these objects. • PORT • This class manages connections between device-objects. Andrea Michelotti: Jungle, the C++ simulator for APEmille
Basic methods: • step • get inputs, process them and produce outputs • trace • trace the state of a device and producetestvectors • load/save • load/save an object from/to a configurationfile Andrea Michelotti: Jungle, the C++ simulator for APEmille
A physical device is represented by a treestructure: nodesDEVICE objects leafsUSER_DEVICE objects Andrea Michelotti: Jungle, the C++ simulator for APEmille
Simulation of a full ApeUnit The classes which represent the internal devices of the basic chips (Tarzan, Cheetah, Jane) are defined in three libraries. First step: Connection of Objects are spefified in the configuration file. Second step: Start of jungle process “switching on” power of the virtual AU. Third step: Start of ApeOS process. Ready to load and run a user program on the virtual APEmille machine Andrea Michelotti: Jungle, the C++ simulator for APEmille
Jungle process all driver functions supported P NODE1 NODE2 NODE3 NODE0 R NODE4 NODE5 NODE6 NODE7 O G PB object M CHEETAH E ApeOS process M ApeNic object signals D TARZAN A APECHANNEL T A Ape Unit Andrea Michelotti: Jungle, the C++ simulator for APEmille
Parallel simulation of parallel systems Jungle simulation can be splitted over more than one PC faster simulation of multi-AU systems testing of the distributed OS AU0 on PC0 ApeOS Root process AU1 on PC1 ApeOS Andrea Michelotti: Jungle, the C++ simulator for APEmille
Conclusions • The simulated machine behaves equivalent to the real one (the only difference is that the real one is much faster:-). • Modifications of the APEmille design can be implemented quickly and in a realiable way (simply change of configuration file). • Provide coherent tool to test new HW & SW solutions. Andrea Michelotti: Jungle, the C++ simulator for APEmille
The APEmille Group F. Aglietti U. Alberti A. Bartoloni C. Battista S. Cabasino N. Cabibbo M. Chiricozzi M. Cosimi P. De Riso W. Errico S. Giovannetti F. Laico A. Lonardo V. Mårdh F. Marzano G. Magazzú A. Michelotti A. Monello E. Panizzi P. S. Paolucci F. Rapuano W. Rinaldi D. Rossetti G. Sacco R. Sarno D. Salvatori H. Simma R. Sinisi M. Torelli R. Tripiccione E. Valente P. Vicini Istituto Nazionale di Fisica Nucleare Italian National Institute for Nuclear Physics http://chimera.roma1.infn.it/ape.html