| Koen Langendoen, John Romein, Raoul Bhoedjang, and Henri Bal. Integrating polling, interrupts, and thread management. In Proceedings of Frontiers '96: The Sixth Symposium on the Frontiers of Massively Parallel Computation, pages 13--22, Annapolis, Maryland, October 1996. IEEE Computer Society. |
....ability to handle extremely high volume of receive requests. Under such conditions, the system enters a receive livelock. This phenomenon was reported by Mogul and Ramakrishna [36] Several researchers suggest the use of polling on the system to prevent receive livelock and for high performance [49, 34]. Aron and Druschel in [6] use the soft timer mechanism to poll on the network interface. The idea is extended in Piglet [38] where the application is isolated from the asynchronous event handling using a dedicated polling processor in a multiprocessor. In fact, one of the earliest studies on ....
LANGENDOEN, K., ROMEIN, J., BHOEDJANG, R., AND BAL, H. Integrating Polling, Interrupts, and Thread Management. In Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation (October 1996).
....ability to handle extremely high volume of receive requests. Under such conditions, the system enters a receive livelock. This phenomenon was reported by Mogul and Ramakrishna [26] Several researchers suggest the use of polling on the system to prevent receive livelock and for high performance [36, 24]. Aron and Druschel in [6] use the soft timer mechanism to poll on the network interface. The idea is extended in Piglet [29] where the application is isolated from the asynchronous event handling using a dedicated polling processor in a multiprocessor. In the Communication Services Platform ....
Langendoen, K., Romein, J., Bhoedjang, R., and Bal, H. Integrating polling, interrupts, and thread management. In Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation (October 1996).
....socket call and the application execution. Second, by using asynchronous calls, the server can avoid context switches whenever this is possible. 3. No Interrupts. Since the TCP server exclusively executes TCP processing, interrupts can be apparently easily and beneficially replaced with polling [23, 29, 26, 6]. We evaluated both methods and found that replacing interrupts with polling is indeed beneficial. However, the frequency of polling must be carefully controlled as too high a rate would lead to bus congestion and too low would result in inability to handle all events. The problem is aggravated by ....
....data in the receive bu#ers of the socket. The e#ect of dedicating processors for receive processing is not limited to isolating the host from interrupts generated for TCP IP processing. Polling on the network interface has been suggested as an alternative mechanism to alleviate this problem [26, 23]. The ine#ciency of polling has often been cited as a reason not to use it exclusively(instead of the interrupt mechanism) 23, 26, 6] Our model, where dedicated processors execute in an infinite loop, allows us to poll on the network interface frequently without slowing other tasks down. We ....
[Article contains additional citation context not shown here]
Langendoen, K., Romein, J., Bhoedjang, R., and Bal, H. Integrating polling, interrupts, and thread management. In Proceedings of Frontiers '96: The Sixth Symposium on the Frontiers of Massively Parallel Computation (Annapolis, Maryland, Oct. 27--31, 1996), IEEE Computer Society, pp. 13--22.
....could re schedule directly the thread upon reception of the awaited message. Also, as the communication kernel is aware of the presence of the threads, it could support communications from a thread to another one and not only between processes. The last problem to resolve is the pooling problem [12], which appears as the communication kernel could not be called for a while if no thread are calling it. However, communication messages may be received and processed. To avoid such situation, it is important to ensure that the communication kernel is called periodically or to trigger an ....
K. LANGENDOEN, J. ROMEIN, R. BHOEDJANG, AND H. BAL, Integrating pollling, interrupts, and thread management, in Proc. of the 6th Symposium on the Frontiers of Massively Parallel Computation (Frontiers '96), 1996.
....for the appropriate event. At each unsuccessful polling cycle, the thread should block and immediately yield the processor to another thread to overlap communication with computation. There is obviously a tradeo between the application responsiveness and the overhead of useless polling actions [11, 17]. Hence, an e cient multithreaded environment should be able to monitor and tune its polling frequency. This requires the communication layer to be thread aware and to provide explicit polling operations. 1.4 What Do Existing Communication Interfaces Provide Many communication libraries have ....
....right is physically allocated on the receiving process. It is remotely mapped onto the emitter (dashed copy on the left) consider them because they introduce a huge overhead compared to the polling policy we use. However, in some situations, it can be shown that they perform better than polling [17, 19, 16]. We are currently investigating a mixed approach which would adaptively use interrupts on demand, when high reactivity is needed. The same remark applies regarding DMA transfers. The overhead associated to starting the SCI DMA embedded engine is so high (typically, 200 s) that it should only be ....
K. Langendoen, J. Romein, R. Bhoedjang, and H. Bal. Integrating polling, interrupts, and threads management. In Proc. of the 6th Symposium on the Frontiers of Massively Parallel Computations (Frontiers '96), pages 1322, Annapolis, Maryland, October 1996. IEEE.
....message reception either block the process or probe for arrived messages. A multithreaded environment has to ensure that only the current thread is blocked upon message reception. Hence, probing for message arrival can be used in a polling scheme to emulate event noti cation by signals. In Figure 5, a thread receives a message by rst supplying a bu er and receives a handle on some condition variable. While the test indicates that the probe for new messages was negative, the thread voluntarily suspends for a short period of time before the test is repeated. Once the message arrives, the ....
....resume waiting thread copy msg to buffer, etc. Figure 4. Message Reception after Event Notification while( test( handle ) handle : init( buffer ) sleep( x ms ) process message wait x milliseconds; blocks thread; other threads may become active test = 0 msg available in buffer Figure 5. Message Reception via Polling exceed that of event signalling upon message reception. The polling scheme was adopted for the communication server thread in DSM Threads. This server thread already executes at a higher priority than user threads, which guarantees that messages will be consumed at ....
[Article contains additional citation context not shown here]
K.G. Langendoen, J. Romein, R.A.F. Bhoedjang, , and H.E. Bal. Integrating polling, interrupts, and thread management. In Symposium on the Frontiers of Massively Parallel Computation, pages 13{ 22, Annapolis, Maryland, October 1996.
....Thus, to a remote process waiting for a response, a process that is ignoring the network appears as if it were not scheduled. Given a dedicated environment, an exclusive dependency on polling is known to harm the performance of applications that ignore the network for prolonged periods of time [23, 94, 113]. Interestingly, implicit coscheduling with two phase waiting performs better for such programs than explicit coscheduling with spin waiting. When a sending processes must wait a significant amount of time for the destination process to touch the network and return the response message, the ....
Koen Langendoen, John Romein, Raoul Bhoedjang, and Henri Bal. Integrating polling, interrupts, and thread management. In Proceedings of Frontiers '96: The Sixth Symposium on the Frontiers of Massively Parallel Computation, pages 13--22, Annapolis, Maryland, October 1996. IEEE Computer Society.
....Thus, to a remote process waiting for a response, a process that is ignoring the network appears as if it were not scheduled. Given a dedicated environment, an exclusive depedency on polling is known to harm the performance of applications that ignore the network for prolonged periods of time [20, 90, 109]. Interestingly, implicit coscheduling with two phase waiting performs better for such programs than explicit coscheduling with spin waiting. When a sending processes must wait a significant amount of time for the destination process to touch the network and return the response message, the ....
....Thus, to a remote process waiting for a response, a process that is ignoring the network appears as if it were not scheduled. Given a dedicated environment, an exclusive dependency on polling is known to harm the performance of applications that ignore the network for prolonged periods of time [20, 90, 109]. Interestingly, implicit coscheduling with two phase waiting performs better for such programs than explicit coscheduling with spin waiting. When a sending processes must wait a significant amount of time for the destination process to touch the network and return the response message, the ....
Koen Langendoen, John Romein, Raoul Bhoedjang, and Henri Bal. Integrating polling, interrupts, and thread management. In Proceedings of Frontiers '96: The Sixth Symposium on the Frontiers of Massively Parallel Computation, pages 13--22, Annapolis, Maryland, October 1996. IEEE Computer Society.
....to interrupts because there is no competition for the CPU by multiple processes. By using polling we can minimize latency down to the limit dictated by the communication hardware. To allow computation to overlap with polling based communication, a user level thread library can be used [LRBB96] These threads are unknown to the kernel, so they are not scheduled preemptively. Instead a thread switch typically occurs when the running thread blocks waiting for some external condition (e.g. the arrival of more data) The status of the local communication endpoints are then polled, ....
K.G. Langendoen, J.W. Romein, R.A.F. Bhoedjang, and H.E. Bal. Integrating polling, interrupts, and thread management. In Proceedings of Frontiers'96, Annapolis, Maryland, V.S., pages 13--22, 1996.
....the user level communication software with the user level thread scheduler, Panda can automatically switch between polling and interrupts. Panda has been shown to achieve robust performance: in most cases, it performs as well as or better than systems that rely exclusively on interrupts or polling [10]. 2.2.3 Orca Orca is a language for writing parallel applications that run on distributed memory systems. Its programming model is a form of object based Distributed Shared Memory [3] Objects in Orca are variables of abstract data types that can be shared by different processes. Orca is ....
....suffices to analyze the measurements that we performed on the Pentium Pro cluster. 7. Results The measurements of the applications on the different networks and the corresponding performance estimates are communication sequential communication application input pattern time [s] vol. MB] #msgs [10 3 ] Integer Sort class 6 (pers. all to all 16.3 154.4 2.0 Shallow Water small hypercube ring 535.0 2358.5 22.3 Multi Grid class S ring 0.5 1.9 3.1 Monte Carlo 600 group comm. 52.0 116.0 77.9 SOR 480x1000 ring 63.9 64.8 17.3 Polygon Overlay 50Kx50K RPC 8.6 9.1 0.4 3D FFT 6,6,6,6 pers. all to all 22.2 ....
K. Langendoen, J. Romein, R. Bhoedjang, and H. Bal. Integrating Polling, Interrupts, and Thread Management. In Frontiers'96, pages 13--22, Annapolis, Maryland, Oct. 1996.
....primitives for even acquiring basic accounting information like the number of thread switches, since often native threads do not provide them. Furthermore, previous research has demonstrated that integrating threads and communication is vital for achieving good performance on high speed networks [6, 13]. Again such integration can currently only be exploited by circumventing the Panda threads interface. To address the shortcomings of the current Panda thread interface, Panda now uses OpenThreads to build a single portable thread package. This generic threads package provides a fixed scheduling ....
K. langendoen, J. Romein, R. Bhoedjang, and H. Bal. Integrating Polling, Interrupts, and Thread Management. In Frontiers'96, Annapolis, Maryland, October 1996.
....than the replicated implementation, given the same amount of memory. Yet another factor is the interrupt latency time, which can become dominant. We observed that polling for messages instead of sending an interrupt upon message arrival can greatly improve performance under some circumstances [12]. One way to avoid interrupts for transposition table reads and writes is to use dedicated transposition table servers. In this case, the transposition table is stored on only a few processors, which do not participate in the tree search. These processors can poll for read and write requests and ....
....results We have done several performance measurements on Multigame. Our primary development platform is the Amoeba system, which consists of 50 MHz MicroSPARC processors connected by a Myrinet network. Myrinet is a gigabit switched network. On Myrinet, we use fast message passing software [12], with a 50 s latency for unicast messages. The message passing software is based on the Illinois Fast Messages library which was extended with multicast primitives and interrupt driven message delivery [19] and is integrated with the thread scheduler. Sending messages is done from user space, ....
K. Langendoen, J. Romein, R. Bhoedjang, and H. Bal. Integrating Polling, Interrupts, and Thread Management. In Proceedings of Frontiers'96, Annapolis, MD, October 1996.
....Most systems, however, require the programmer to insert poll statements in the source code, in such a way that they are executed at the right rate. This difficult task clearly complicates programming. We quantified the performance differences of polling and interrupts in a separate study [6]. The outcome of this study is that polling outperforms interrupts for fine grained applications only. For coarse grained applications, interrupts and polling yield similar performance, except for some irregular applications where interrupts perform better. In these cases the large number of polls ....
....only for specific messages (e.g. operating system messages) or under specific circumstances (e.g. network overflow) The CRL distributed shared memory system [13] uses interrupts to deliver protocol request messages, and switches to polling for receiving reply messages. Langendoen et al. [6] describe a generalization of this idea: polling is used if the receiving processor is idle (e.g. when it is waiting for a reply) interrupts are used if the receiving processor is not idle. This hybrid approach is implemented in a user level thread package (see the Implementation section in ....
K.G. Langendoen, J. Romein, R.A.F. Bhoedjang, and H.E. Bal. Integrating Polling, Interrupts, and Thread Management. In Frontiers'96, pages 13--22, Annapolis, Maryland, October 1996.
No context found.
Koen Langendoen, John Romein, Raoul Bhoedjang, and Henri Bal. Integrating polling, interrupts, and thread management. In Proceedings of Frontiers '96: The Sixth Symposium on the Frontiers of Massively Parallel Computation, pages 13--22, Annapolis, Maryland, October 1996. IEEE Computer Society.
No context found.
Langendoen, K., Romein, J., Bhoedjang, R., Bal, H.: Integrating polling, interrupts, and thread management. In: Proc. 6th Symp. on the Frontiers of Massively Parallel Computing (Frontiers '96), Annapolis, MD (1996) 13--22
No context found.
Langendoen, K., Romein, J., Bhoedjang, R., Bal, H.: Integrating polling, interrupts, and thread management. In: Proc. 6th Symp. on the Frontiers of Massively Parallel Computing (Frontiers '96), Annapolis, MD (1996) 1322
No context found.
Langendoen, K., Romein, J., Bhoedjang, R., Bal, H.: Integrating polling, interrupts, and thread management. In: Proc. 6th Symp. on the Frontiers of Massively Parallel Computing (Frontiers '96), Annapolis, MD (1996) 13--22
No context found.
K. Langendoen, J. Romein, R. Bhoedjang, and H. Bal. Integrating polling, interrupts, and thread management. In Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation, October 1996.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC