Multicore experiment: Plurality Hypercore Processor Performed by: Anton Fulman Ze’ev Zilberman Supervised by: Mony Orbach Characterization presentation Winter 2008
Overview Plurality has developed a 256 Hypercore processor with unique architecture and programming model, suited for parallel algorithms The main project goal is to build and optimise algorithms for Plurality system, that will later be used for lab multicore experiment
Motivation Parallel algorithms running on multicore processor can lead to significant performance improvement Programming parallel algorithms is different than serial algorithms The main goals of the experiment: – Understand the principles of multicore processing – Learn to work with parallel algorithms – Evaluate and compare performance
System architecture The cores – 256 RISC SPARC based cores – Perform basic arithmetic operations Helper units – One helper unit for each 4 cores – Perform multiplication and division Synchronizer/scheduler – Distributes the tasks between the cores with minimal overhead Shared memory system – Allows any number of cores to access data and instruction memory at every clock cycles
System architecture - cont.
Programming model Task oriented programming model (TOP) The algorithm is partitioned to regular and duplicable tasks The algorithm can be described by a task map, with dependencies between the tasks Resource synchronization between tasks is managed automatically (unlike common multithread programming)
Programming model – cont.
Working environment Eclipse and HAL simulator running under Cygwin environment HAL debugger integrated into Eclipse that allows to monitor the system state – Variables – Registers – Assembly code – Cycles
Project goals Build a few parallel algorithms Write documentation Provide the knowledge base for the multicore experiment
Timeline Environment installation and basic training by Plurality representatives – Done Build simple matrix multiplication algorithm – Done Better understanding of the debugging capabilities Build more algorithms (and more complicated) Midterm presentation – beginning of June
After the midterm Finish writing all the algorithms Write documentation