Navigation: Home | Downloads | Getting SST | Documentation | Support
Development work is taking place in the multithread branch.
Simulation objects
    Simulation::getSimulation() will handle per-thread objectsstatOutput might also get shared.SST::Core::ThreadSage::Barrier;
SST::Core::ThreadSafe::SpinLock;
SST::Core::ThreadSafe::BoundedQueue;
SST::Core::ThreadSafe::UnboundedQueue;
mainEvent unique IDParam
        keyMap / keyMapReverseFactoryStatOutputUnitAlgebraMemPoolsEach Thread in a Rank will participate by pulling Serialization / Deserialization tasks out of a work queue. The “Master” thread (thread 0) will perform MPI I/O, and parcel work out to the work queues.
When an Event is sent to an off-Rank target, it gets put into a queue that represents events for that particular off-Rank target’s Thread.   These queues will get serialized in parallel into buffers for target ranks.  Each serialized queue will be sent on its own MPI message.
On the Receive side, the messages will be placed into a work queue for deserialization. Each message will deserialize into a set of Events, destined for a particular thread. After all messages are deserialized, each thread will query the other thread’s per-thread event lists for the events which this thread owns. Those will then be placed into the proper Links.
| T(Master) | T(Other) | 
|---|---|
| * BEGIN SEND PHASE * | |
| Fill Work Q with target-thread queues to serialize | |
| Barrier | |
| (If only 1 thread, perform T(Other) work) | Pull Serialization Work | 
| Pull from Send Q | * Serialize | 
| * Send | * Place buffer into Send Q | 
| * Count Sends to Stop | * Exit loop when Work Q Empty | 
| * SWITCH TO RECEIVE PHASE * | |
| Loop on wait_any(recv) | |
| * Fill Work Q or Resize | Pull from Work Q | 
| * When done, insert NULLs into Work Q (#threads) | * Look for Completion (NULL) | 
| wait_all(sends) | * Deserialize | 
| Post Receives (next round) | * Place into own Per-Target-Thread queue | 
| Barrier | |
| Query all other-thread's per-target-thread queue for Events | |
| Link::sendeach events | |
