- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- How fast can ASN.1 encoding rules go?
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
How fast can ASN.1 encoding rules go? Sample, Michael
Abstract
The tasks of encoding and decoding complex data structures for network transmission are more expensive in terms of processor time and memory usage than any other components of the protocol stack. This problem can be partially addressed by simplifying the network data encoding rules and streamlining their implementation. We examined the performance of four network data representation standards: ASN.1Basic Encoding Rules (BER) and Packed Encoding Rules (PER), Sun Microsystem's External Data Representation (XDR) and HP/Apollo's Network Data Representation (NDR). The sizes of the encoded values produced by each set of encoding rules are compared and several implementations are measured for code size and throughput. To help examine implementation issues, we designed the snacc ASN.1 compiler that produces compile-based (C and C++) and table-based encoders and decoders as well as type tables. The performance of the snacc, UBC CASN1(BER), NIDL(NDR), rpc-gen(XDR) and ISODE(BER) tools was examined as well as a hand-coded PER implementation. The implementation issues investigated include compiled versus table-based encoding and decoding, implementation language (C/C++), buffering techniques and memory management. We found that the areas crucial to efficient encoder and decoder implementations are memory management, buffer management and the overall simplicity of the encoding rules. Table-based encoders and decoders typically have considerably smaller code size but perform less efficiently than their compiled counterparts. In contrast to popular belief, it is possible to implement ASN.1 BER and PER encoders and decoders that perform as well as their NDR and XDR counterparts.
Item Metadata
Title |
How fast can ASN.1 encoding rules go?
|
Creator | |
Publisher |
University of British Columbia
|
Date Issued |
1993
|
Description |
The tasks of encoding and decoding complex data structures for network transmission are more expensive in terms of processor time and memory usage than any other components of the protocol stack. This problem can be partially addressed by simplifying the network data encoding rules and streamlining their implementation.
We examined the performance of four network data representation standards: ASN.1Basic Encoding Rules (BER) and Packed Encoding Rules (PER), Sun Microsystem's External Data Representation (XDR) and HP/Apollo's Network Data Representation (NDR). The sizes of the encoded values produced by each set of encoding rules are compared and several implementations are measured for code size and throughput.
To help examine implementation issues, we designed the snacc ASN.1 compiler that produces compile-based (C and C++) and table-based encoders and decoders as well as type tables. The performance of the snacc, UBC CASN1(BER), NIDL(NDR), rpc-gen(XDR) and ISODE(BER) tools was examined as well as a hand-coded PER implementation. The implementation issues investigated include compiled versus table-based encoding and decoding, implementation language (C/C++), buffering techniques and memory management.
We found that the areas crucial to efficient encoder and decoder implementations are memory management, buffer management and the overall simplicity of the encoding rules. Table-based encoders and decoders typically have considerably smaller code size but perform less efficiently than their compiled counterparts. In contrast to popular belief, it is possible to implement ASN.1 BER and PER encoders and decoders that perform as well as their NDR and XDR counterparts.
|
Extent |
5876614 bytes
|
Genre | |
Type | |
File Format |
application/pdf
|
Language |
eng
|
Date Available |
2008-09-25
|
Provider |
Vancouver : University of British Columbia Library
|
Rights |
For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.
|
DOI |
10.14288/1.0051367
|
URI | |
Degree | |
Program | |
Affiliation | |
Degree Grantor |
University of British Columbia
|
Graduation Date |
1993-05
|
Campus | |
Scholarly Level |
Graduate
|
Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.