| N. C. Hutchinson, S. Mishra, L. L. Peterson, and V. T. Thomas, "Tools for Implementing Network Protocols," Software Practice and Experience, vol. 19, pp. 895--916, September 1989. |
.... process associated with complex application domains such as graphical user interfaces [6] databases [7] operating system kernels [8] and communication subsystems [9] The components in a framework typically include classes (such as message managers, timer based event managers, demultiplexers [10], and assorted protocol functions and mechanisms [11] class hierarchies (such as an inheritance lattice of mechanisms for local and remote interprocess communication [1] class categories (such as event demultiplexers [12, 13] and objects (such as a service dispatch table) By emphasizing the ....
N. C. Hutchinson, S. Mishra, L. L. Peterson, and V. T. Thomas, "Tools for Implementing Network Protocols," Software Practice and Experience, vol. 19, pp. 895--916, September 1989.
....called mbufs. BibRef[11] details how the mbuf allocation policy, tuned towards memory conservation in early versions of Berkeley Unix intended to run on 4 MB VAXes, produces counterintuitive performance behavior; this behavior is also observable in the Ultrix kernel measured for this study. BibRef[32] describes the design of the buffer descriptor used in version 3.1 of the x kernel, which encapsulates for ease of use a number of buffer manipulation primitives that must be written on a per case basis when using mbufs, and attempts to reduce the number of calls needed for buffer 25 ....
....The bimodality of the mbuf allocation algorithm causes the hump between 1 and 1024 bytes and part of the hump between 4096 and 5120 bytes, largely because of the resulting distribution of numbers of calls to the mbuf allocation routine. Others have remarked on the bimodality BibRef[11]BibRef[32]. The breakdowns of TCP and UDP processing times shown in FigureFoobleFigure 4 are very similar. Even TCP protocol specific processing is only slightly more expensive than UDP protocol specific processing. The differences are so small because even though TCP is the most complicated portion of the ....
N. C. Hutchinson, S. Mishra, L. L. Peterson, V. T. Thomas, "Tools for Implementing Network Protocols," Software - Practice and Experience, pp. 895916, September 1989.
....does not require any scheduling decisions with its associated overheads. X kernel, using Upcalls and a buffer management strategy which dramatically reduces the amount of data copying required, has demonstrated that it is possible to obtain significant reductions in protocol processing overhead [42]. 2.1.10 Discussion Although it has been shown by Clark [18] that the control part of TCP is capable of supporting high speeds, and many successful implementation optimisations exist, it has been shown that this is not enough. The functionality of the protocol must be 2.2 Elimination of ....
N. C. Hutchinson, S. Mishra, L. L. Peterson, and V. T. Thomas, "Tools for implementing network protocols," Software-Practice and Experience, vol. 19, no. 9, pp. 895--916, September, 1989. BIBLIOGRAPHY Bib-6
....abstractions are embedded in an otherwise C like language. 2.1.1 Utility Objects Morpheus provides utility objects to perform some common services for protocols. In protocol frameworks, such utilities are implemented as library routines. The utility objects are Messages, Maps, and Events [HMPT89]. Maps provide a generic mapping service, mapping values of one type into values of another (possibly identical) type. They provide operations for entering, looking up, and deleting mappings from one value to another. They are useful for mapping from one type of address into another. A Map is ....
....These operations are splitting a message into fragments, and clipping (discarding) part of a message from the tail end, as when stripping padding. A data structure implementation of messages can support these operations very efficiently without ever accessing the actual contents of messages [HMPT89, DAPP93], yet implementing such operations in terms of a data stream requires counting units of data to recognize the point in the message where the operation is to be applied. 4.7.4 Buffering for Retransmission A protocol which buffers copies of messages for possible retransmission presents several ....
Norman C. Hutchinson, Shivakant Mishra, Larry L. Peterson, and Vicraj T. Thomas. Tools for implementing network protocols. Software---Practice and Experience, 19(9):895--916, September 1989.
....operating system environment, the dependent parts of the LSE need to be re implemented to match the new environment. The environment dependent modules include: 4.1. Buffer Management How to construct and manipulate messages is of extreme importance when designing high performance protocols [Bir84a, Che88a, Hut89a, Dru92a, Sch89a, Ber89a]. Former research pointed out that operations on message buffers are often bottlenecks in the performance of network software. Especially the copy operations are to be avoided. Although an effort has been made to design the LSE buffer management as efficient as possible, the avoid to copy rule ....
Norman C. Hutchinson, Shivakant Mishra, LArry L. Peterson, and Vicraj T. Thomas, "Tools for Implementing Network Protocols," Software -- Practice and Experience (September 1989).
....manipulation operations (such as checksum calculations and compression) and general message passing overhead resulting from synchronization and process management operations. Common techniques for minimizing communication overhead involve (1) buffer management schemes that minimize data copying [45] and attempt to preserve cache affinity properties when exchanging messages between CPUs with separate instruction and data caches, 2) integrated layer processing techniques [11] and (3) single copy network host interface adapters [46] ffl Load Balancing Certain process architectures (such ....
....transport system overhead. Naive message managers that physically copy messages between each protocol layer are prohibitively expensive. Therefore, more sophisticated implementations avoid or minimize memory tomemory copying via techniques such as buffer cut through [51, 52] and lazy evaluation [45]. Buffer cut through passes messages by reference through multiple protocol layers to reduce copying. Likewise, lazy evaluation techniques use reference counting and buffer sharing to minimize unnecessary copying. These schemes may be combined with the virtual memory remapping optimizations ....
[Article contains additional citation context not shown here]
N. C. Hutchinson, S. Mishra, L. L. Peterson, and V. T. Thomas, "Tools for Implementing Network Protocols," Software Practice and Experience, vol. 19, pp. 895--916, September 1989.
....the mechanism behavior and any constraints on mechanism use. In all these examples, the Message parameter refers to a composite data structure that is capable of efficient operations (such as encapsulation de encapsulation, segmentation reassembly) on application and network SDUs and PDUs [20]. The first five descriptors shown in Figure 13 are used on the sender side of a protocol machine. The protocol function Segment logically splits an input SDU Message into smaller pieces that fit within the MTU size of the underlying network. It produces a composite Message that contains the ....
N. C. Hutchinson, S. Mishra, L. L. Peterson, andV. T. Thomas, "Tools for Implementing Network Protocols," Software Practice and Experience, vol. 19, pp. 895--916, September 1989.
....few aids in producing a working protocol implementation. It is noted, however, that some specification languages such as Estelle have utilities that allow implementation of a protocol specification. More closely associated with this problem perhaps are the tools that are part of the x kernel [11]. The x kernel provides a message manager to assist with header manipulation, assembly and disassembly, and a map manager to assist with network addressing issues. Schaefer Karner [20] also discuss a toolset that aids in the construction of protocol implementations. There have been a number of ....
Hutchison, N.C., Mishra, S., Peterson, L.L., Thomas, V.T., Tools for Implementing Network Protocols, Software Practice and Experience, Vol 19, Number 9, September, 1989
....illustrates how ASX framework synchronization objects can be transparently parameterized into communication protocol software. In the threading architecture experiments described in Section 4, the Map Manager class is used to demultiplex incoming network messages to the appropriate Module [27]. Map Manager is a template class that is parameterized by an external identifier (EXT ID) an internal identifier (INT ID) and a mutual exclusion mechanism (LOCK) as follows: template class EXT ID, class INT ID, class LOCK class Map Manager public: Associate EXT ID with INT ID bool ....
N. C. Hutchinson, S. Mishra, L. L. Peterson, andV. T. Thomas, "Tools for Implementing Network Protocols," Software Practice and Experience, vol. 19, pp. 895--916, September 1989.
.... process associated with complex application domains such as graphical user interfaces [6] databases [7] operating system kernels [8] and communication subsystems [9] The components in a framework typically include classes (such as message managers, timer based event managers, demultiplexers [10], and assorted protocol functions and mechanisms [11] class hierarchies (such as an inheritance lattice of mechanisms for local and remote interprocess communication [1] class categories (such as event demultiplexers [12] and objects (such as a service dispatch table) By emphasizing the ....
N. C. Hutchinson, S. Mishra, L. L. Peterson, andV. T. Thomas, "Tools for Implementing Network Protocols," Software Practice and Experience, vol. 19, pp. 895--916, September 1989.
....returning (e.g. an infinite loop) the kernel limits the number of outstanding upcalls to each user address space. On top of this foundation, the x kernel provides a set of support routines that are used to implement 4 protocols. These routines are described in more detail in a companion paper [14]. First, a set of buffer manager routines provide for allocating buffer space, concatenating two buffers, breaking a buffer into two separate buffers, and truncating the left or right end of a buffer. The buffer routines use the heap storage area and are implemented in way that allows multiple ....
N. C. Hutchinson, S. Mishra, L. L. Peterson, and V. T. Thomas. Tools for implementing network protocols. Software---Practice and Experience, 19(9):895--916, Sept. 1989. 24
....means. While searching for good inlining opportunities, we found that in many cases, inlining would be beneficial when one or more of the actual arguments are constant (i.e. such that the third case in the above list applies) For example, the x kernel makes extensive use of a hash table manager [HMPT89, MO93]. The hash table supports a one entry cache to exploit locality of networking [Mog92] Ideally, a hash table lookup that results in a cache hit should require only the few instructions needed to compare the key being looked up with the key of the cached entry. However, the hash table manager ....
Norman C. Hutchinson, Shivakant Mishra, Larry L. Peterson, and Vicraj T. Thomas. Tools for implementing network protocols. Software---Practice and Experience, 19(9):895--916, September 1989.
No context found.
N. C. Hutchinson, S. Mishra, L. L. Peterson, and V. T. Thomas. Tools for implementing network protocols. Software---Practice and Experience, 19(9):895--916, Sept. 1989.
No context found.
N.C. Hutchinson, S. Mishra, et al., "Tools for Implementing Network Protocols, " Software--Practice and Experience, Vol. 19 (September 1989), pp. 895-916.
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