Figure 3.2: Scenario A has 10,000 processor-bound Figure 3.3: Scenario B has 100 I/O bound server server operations where computation is inter- operations where computation is interleaved leaved with file write operations with network I/O interactions We compare the performance of action-based and thread-based systems through implementation. In this paper, we consider two kinds of server operations, one processor-bound and the other, I/O-bound, both of which appear in the context of the Rover controller. Using these server operations, we construct two corresponding scenarios: This is a computation-intensive scenario and has 10,000 processor-bound Scenario A: server operations, where each of the server operations has three compute blocks, interleaved with two file write operations (see Figure 3.2). In each of these server operations, the second and the third I/O compute block do not need to await for the prior file I/O write operation to complete. This is an I/O-intensive scenario and has 100 I/O-bound server Scenario B: operations, where each of the server operations has three compute blocks, interleaved with two network I/O operations (see Figure 3.3). In each of these server operations, the second and third compute blocks can be initiated only after the completion of the prior network I/O operation. The network I/O interaction was implemented using UDP. Since our focus is on the comparison of the action-based versus the systems, we avoided issues of packet loss and re-transmissions by only considering those experiments where no UDP packets were lost in the network. We consider two execution platforms, referred to as M1 and M2 in the paper. M1 comprises of a Intel Pentium III (600 MHz) processor and 96 MB of RAM which runs Linux. M2 comprises of a Sun Ultra 5, with a Sparc (333 MHz) processor and 128 MB RAM and runs Solaris. For the thread-based implementation, we used the Linux Threads library for the M1 platform and the Pthreads library for the M2 platform, both of which are implementations of the Posix 1003.1c threads package. This total execution time for the three compute blocks in each server operation
Figure 3.2: Scenario A has 10,000 processor-bound Figure 3.3: Scenario B has 100 I/O bound server server operations where computation is inter- operations where computation is interleaved leaved with file write operations with network I/O interactions We compare the performance of action-based and thread-based systems through implementation. In this paper, we consider two kinds of server operations, one processor-bound and the other, I/O-bound, both of which appear in the context of the Rover controller. Using these server operations, we construct two corresponding scenarios: Scenario A: This is a computation-intensive scenario and has 10,000 processor-bound server operations, where each of the server operations has three compute blocks, interleaved with two file write operations (see Figure 3.2). In each of these server operations, the second and the third I/O compute block do not need to await for the prior file I/O write operation to complete. Scenario B: This is an I/O-intensive scenario and has 100 I/O-bound server operations, where each of the server operations has three compute blocks, interleaved with two network I/O operations (see Figure 3.3). In each of these server operations, the second and third compute blocks can be initiated only after the completion of the prior network I/O operation. The network I/O interaction was implemented using UDP. Since our focus is on the comparison of the action-based versus the systems, we avoided issues of packet loss and re-transmissions by only considering those experiments where no UDP packets were lost in the network. We consider two execution platforms, referred to as M1 and M2 in the paper. M1 comprises of a Intel Pentium III (600 MHz) processor and 96 MB of RAM which runs Linux. M2 comprises of a Sun Ultra 5, with a Sparc (333 MHz) processor and 128 MB RAM and runs Solaris. For the thread-based implementation, we used the Linux Threads library for the M1 platform and the Pthreads library for the M2 platform, both of which are implementations of the Posix 1003.1c threads package. This total execution time for the three compute blocks in each server operation
53411701-Seminar-Report-Rover-Technology-Repaired.docx