Contact The DL Team Contact Us | Switch to tabbed view

top of pageABSTRACT

This paper describes the Network-Attached Secure Disk (NASD) storage architecture, prototype implementations oj NASD drives, array management for our architecture, and three, filesystems built on our prototype. NASD provides scalable storage bandwidth without the cost of servers used primarily, for transferring data from peripheral networks (e.g. SCSI) to client networks (e.g. ethernet). Increasing datuset sizes, new attachment technologies, the convergence of peripheral and interprocessor switched networks, and the increased availability of on-drive transistors motivate and enable this new architecture. NASD is based on four main principles: direct transfer to clients, secure interfaces via cryptographic support, asynchronous non-critical-path oversight, and variably-sized data objects. Measurements of our prototype system show that these services can be cost-effectively integrated into a next generation disk drive ASK. End-to-end measurements of our prototype drive andfilesysterns suggest that NASD cun support conventional distributed filesystems without performance degradation. More importantly, we show scaluble bandwidth for NASD-specialized filesystems. Using a parallel data mining application, NASD drives deliver u linear scaling of 6.2 MB/s per clientdrive pair, tested with up to eight pairs in our lab.
Advertisements



top of pageAUTHORS



Garth A. Gibson Garth A. Gibson

homepage
garth.gibsonatacm.org
Bibliometrics: publication history
Publication years1985-2015
Publication count110
Citation Count3,155
Available for download49
Downloads (6 Weeks)187
Downloads (12 Months)2,375
Downloads (cumulative)41,656
Average downloads per article850.12
Average citations per article28.68
View colleagues of Garth A. Gibson


Author image not provided  David F. Nagle

No contact information provided yet.

Bibliometrics: publication history
Publication years1993-2008
Publication count27
Citation Count680
Available for download19
Downloads (6 Weeks)26
Downloads (12 Months)250
Downloads (cumulative)12,305
Average downloads per article647.63
Average citations per article25.19
View colleagues of David F. Nagle


Author image not provided  Khalil Amiri

No contact information provided yet.

Bibliometrics: publication history
Publication years1997-2004
Publication count12
Citation Count290
Available for download5
Downloads (6 Weeks)9
Downloads (12 Months)95
Downloads (cumulative)4,227
Average downloads per article845.40
Average citations per article24.17
View colleagues of Khalil Amiri


Author image not provided  Jeff Butler

No contact information provided yet.

Bibliometrics: publication history
Publication years1998-1998
Publication count1
Citation Count123
Available for download1
Downloads (6 Weeks)2
Downloads (12 Months)56
Downloads (cumulative)1,792
Average downloads per article1,792.00
Average citations per article123.00
View colleagues of Jeff Butler


Author image not provided  Fay W. Chang

No contact information provided yet.

Bibliometrics: publication history
Publication years1997-2002
Publication count4
Citation Count252
Available for download2
Downloads (6 Weeks)9
Downloads (12 Months)82
Downloads (cumulative)2,978
Average downloads per article1,489.00
Average citations per article63.00
View colleagues of Fay W. Chang


Author image not provided  Howard Gobioff

No contact information provided yet.

Bibliometrics: publication history
Publication years1996-2003
Publication count7
Citation Count1,155
Available for download3
Downloads (6 Weeks)153
Downloads (12 Months)2,964
Downloads (cumulative)39,811
Average downloads per article13,270.33
Average citations per article165.00
View colleagues of Howard Gobioff


Author image not provided  Charles Hardin

No contact information provided yet.

Bibliometrics: publication history
Publication years1998-2007
Publication count4
Citation Count136
Available for download1
Downloads (6 Weeks)2
Downloads (12 Months)56
Downloads (cumulative)1,792
Average downloads per article1,792.00
Average citations per article34.00
View colleagues of Charles Hardin


Author image not provided  Erik Riedel

No contact information provided yet.

Bibliometrics: publication history
Publication years1994-2009
Publication count43
Citation Count880
Available for download14
Downloads (6 Weeks)169
Downloads (12 Months)2,690
Downloads (cumulative)18,468
Average downloads per article1,319.14
Average citations per article20.47
View colleagues of Erik Riedel


Author image not provided  David Rochberg

No contact information provided yet.

Bibliometrics: publication history
Publication years1997-1998
Publication count3
Citation Count191
Available for download3
Downloads (6 Weeks)10
Downloads (12 Months)84
Downloads (cumulative)3,117
Average downloads per article1,039.00
Average citations per article63.67
View colleagues of David Rochberg


Author image not provided  Jim Zelenka

No contact information provided yet.

Bibliometrics: publication history
Publication years1993-2008
Publication count10
Citation Count525
Available for download4
Downloads (6 Weeks)15
Downloads (12 Months)136
Downloads (cumulative)4,626
Average downloads per article1,156.50
Average citations per article52.50
View colleagues of Jim Zelenka

top of pageREFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

Acharya98
 
Agrawal94
Anderson96
Anderson97
 
Anderson98a
Anderson, D. Network Attached Storage Research, www. nsic. org/nasd/meetings, html, March 1998.
 
Anderson98b
Anderson, D. Network Attached Storage Research, www. nsic. org/nasd/meetings, html, June 1998.
 
Anderson98c
Anderson, D., et al. Cheating the I/O Bottleneck: Network Storage with Trapeze/Myrinet, USENIX, June 1998.
Baker91
 
Bellare96
Bellare, M., Canetti, R. and Krawczyk, H., Keying Hash Functions for Message Authentication, Crypto '96, 1996.
 
Benner96
 
Birrell80
Birell, A.D. and Needham, R.M., A Universal File Server, IEEE TSE 6 (5), Sept1980.
 
Boden95
 
Cabrera91
Cabrera, L. and Long, D., Swift: Using Distributed Disk Striping to Provide High I/O Data Rates, Computing Systems 4:4, Fall 1991.
Cao93
 
Corbett96
Corbett, P., et al., Proposal for a Common Parallel File System Programming Language, Scalable I/0 Initiative CalTech CACR 130, Nov 1996.
 
Deering95
deJonge93
Dennis66
Drapeau94
Gibson97a
 
Gibson97b
Gibson, G., et al. Filesystems for Network- Attached Secure Disks, TR CMU-CS-97-118, July 1997.
 
Gobioff97
Gobioff, H., Gibson, G. and Tygar, D., Security for Network Attached Storage Devices, TR CMU-CS-97- 185, Oct 1997.
 
Golding95
Golding, R., Shriver, E., Sullivan, T., and Wilkes, J., "Attribute-managed storage," Workshop on Modeling and Specification of I/O, San Antonio, TX, Oct 1995.
 
Gong89
Gong, L., A Secure Identity-Based Capability System IEEE Syrup. on Security and Privacy, May 1989.
 
Grochowski96
Grochowski, E.G. and Hoyt, R.F., Future Trends in Hard Disk Drives, IEEE Trans. on Magnetics 32 (3), May 1996.
Hartman93
 
Hitz90
Hitz, D. et al., Using UNIX as One Component of a Lightweight Distributed Kernel for Multiprocessor File Servers, Winter USENIX, 1990.
 
Hitz94
Hitz, D., Lau, J. and Malcolm, M. File Systems Design for an NFS File Server Appliance, Winter USENIX, January 1994.
 
Horst95
Howard88
 
IEEE95
IEEE P1244. "Reference Model for Open Storage Systems Interconnection-Mass Storage System Reference Model Version 5", Sept 1995
 
Intel97
Intel Corporation, Virtual Interface (VI) Architecture, www. viarch.org, Dec 1997.
 
Karger88
Karger, RA., "Improving Security and Performance for Capability Systems", University of Cambridge Computer Laboratory Technical Report No. 149, Oct 1988.
 
Knudsen96
Lee96
 
Long94
Maeda93
McKusick84
 
Miller88
Mitchell81
 
MPI95
The MPI Forum, The Message-Passing Interface Standard, www. mcs. anl. gov/mpi/standard, html, May 1995.
 
Neuman94
Neuman, B.C. and Ts'o, T., Kerberos: An Authentication Service for Computer Networks, IEEE Communications 32,9, Sept 1994.
Patterson88
 
Pricewatch98
www. pricewatch, com, July 1998.
 
Riedel98
 
Sachs94
 
Sandberg85
Sandberg, R. et al., Design and Implementation of the Sun Network Filesystem, Summer USENIX, June 1985, pp. 119-130.
 
Srivastava94
Srivastava, A., and Eustace, A., ATOM: A system for building customized program analysis tools, WRL Technical Report TN-41, 1994.
 
Tanenbaum86
Tanenbaum, A.S., Mullender, S.J. and van Renesse, R., Using Sparse Capabilities in a Distributed System, Sixth Conference on Distributed Computing, 1986.
Thekkath97
 
TPC98
Transaction Performance Council TPC-C Executive Summaries, URL: www. tpc. org, Mar 1998.
 
TriCore97
TriCore News Release, Siemens' New 32-bit Embedded Chip Architecture Enables Next Level of Performance in Real-Time Electronics Design, www. tri-core, com, Sept 1997.
 
VanMeter96
Van Meter, R., Hotz, S. and Finn, G., Derived Virtual Devices: A Secure Distributed File System Mechanism, Fifth NASA Goddard Conference on Mass Storage Systems and Technologies, Sep 1996.
VanMeter98
 
Verbauwhede87
Verbauwhede, I. et al., H. Security Considerations in the Design and Implementation of a New DES Chip, EUROCRYPT, 1987.
vonEicken95
 
Watson95
 
Wilkes79
 
Wilkes92
Wilkes, J. Hamlyn - An Interface for Senderbased Communications, Hewlett-Packard Laboratories Technical Report HPL-OSR-92-13, Nov 1992.
Wulf74

top of pageCITED BY

123 Citations

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

top of pageINDEX TERMS

The ACM Computing Classification System (CCS rev.2012)

Note: Larger/Darker text within each node indicates a higher relevance of the materials to the taxonomic classification.

top of pagePUBLICATION

· Proceeding
Title ASPLOS VIII Proceedings of the eighth international conference on Architectural support for programming languages and operating systems table of contents
Chairmen Dileep Bhandarkar Intel
Anant Agarwal Massachusetts Institute of Technology, Cambridge
Pages 92-103
Publication Date1998-10-01 (yyyy-mm-dd)
Sponsors SIGARCH ACM Special Interest Group on Computer Architecture
SIGOPS ACM Special Interest Group on Operating Systems
SIGPLAN ACM Special Interest Group on Programming Languages
IEEE-CS Computer Society
PublisherACM New York, NY, USA ©1998
ISBN: 1-58113-107-0 Order Number: 556980 doi>10.1145/291069.291029
Conference ASPLOSArchitectural Support for Programming Languages and Operating Systems ASPLOS logo
Paper Acceptance Rate 28 of 123 submissions, 23%
Overall Acceptance Rate 503 of 2,475 submissions, 20%
Year Submitted Accepted Rate
ASPLOS VI 146 29 20%
ASPLOS VII 109 25 23%
ASPLOS VIII 123 28 23%
ASPLOS IX 114 24 21%
ASPLOS X 175 24 14%
ASPLOS XI 169 24 14%
ASPLOS XII 158 38 24%
ASPLOS XIII 127 31 24%
ASPLOS XIV 113 29 26%
ASPLOS XV 181 32 18%
ASPLOS XVI 152 32 21%
ASPLOS XVII 172 37 22%
ASPLOS '14 217 49 23%
ASPLOS '15 287 48 17%
ASPLOS '16 232 53 23%
Overall 2,475 503 20%
· Newsletter
Title ACM SIGOPS Operating Systems Review Homepage table of contents archive
Volume 32 Issue 5, Dec. 1998
Editor William M. Waite Univ. of Colorado, Boulder
Pages 92-103
Publication Date1998-12-01 (yyyy-mm-dd)
Sponsor SIGOPS ACM Special Interest Group on Operating Systems
PublisherACM New York, NY, USA
ISSN: 0163-5980 doi>10.1145/384265.291029
· Newsletter
Title ACM SIGPLAN Notices Homepage table of contents archive
Volume 33 Issue 11, Nov. 1998
Chairmen Dileep Bhandarkar Intel
Anant Agarwel Massachusetts Institute of Technology, Cambridge
Pages 92-103
Publication Date1998-11-01 (yyyy-mm-dd)
Sponsor SIGPLAN ACM Special Interest Group on Programming Languages
PublisherACM New York, NY, USA
ISSN: 0362-1340 EISSN: 1558-1160 doi>10.1145/291006.291029

APPEARS IN
Hardware Design
Networking
Networking
Software
Software
Software
Performance
Performance

top of pageREVIEWS


Reviews are not available for this item
Computing Reviews logo

top of pageCOMMENTS

Be the first to comment To Post a comment please sign in or create a free Web account

top of pageTable of Contents

Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
Table of Contents
Compiler-controlled memory
Keith D. Cooper, Timothy J. Harvey
Pages: 2-11
doi>10.1145/291069.291010
Full text: PDFPDF

Optimizations aimed at reducing the impact of memory operations on execution speed have long concentrated on improving cache performance. These efforts achieve a. reasonable level of success. The primary limit on the compiler's ability to improve memory ...
expand
Segregating heap objects by reference behavior and lifetime
Matthew L. Seidl, Benjamin G. Zorn
Pages: 12-23
doi>10.1145/291069.291012
Full text: PDFPDF

Dynamic storage allocation has become increasingly important in many applications, in part due to the use of the object-oriented paradigm. At the same time, processor speeds are increasing faster than memory speeds and programs are increasing in size ...
expand
Schedule-independent storage mapping for loops
Michelle Mills Strout, Larry Carter, Jeanne Ferrante, Beth Simon
Pages: 24-33
doi>10.1145/291069.291015
Full text: PDFPDF

This paper studies the relationship between storage requirements and performance. Storage-related dependences inhibit optimizations for locality and parallelism. Techniques such as renaming and array expansion can eliminate all storage-related dependences, ...
expand
An empirical analysis of instruction repetition
Avinash Sodani, Gurindar S. Sohi
Pages: 35-45
doi>10.1145/291069.291016
Full text: PDFPDF

We study the phenomenon of instruction repetition, where the inputs and outputs of multiple dynamic instances of a static instruction are repeated. We observe that over 80% of the dynamic instructions executed in several programs are repeated and most ...
expand
Space-time scheduling of instruction-level parallelism on a raw machine
Walter Lee, Rajeev Barua, Matthew Frank, Devabhaktuni Srikrishna, Jonathan Babb, Vivek Sarkar, Saman Amarasinghe
Pages: 46-57
doi>10.1145/291069.291018
Full text: PDFPDF

Increasing demand for both greater parallelism and faster clocks dictate that future generation architectures will need to decentralize their resources and eliminate primitives that require single cycle global communication. A Raw microprocessor distributes ...
expand
Data speculation support for a chip multiprocessor
Lance Hammond, Mark Willey, Kunle Olukotun
Pages: 58-69
doi>10.1145/291069.291020
Full text: PDFPDF

Thread-level speculation is a technique that enables parallel execution of sequential applications on a multiprocessor. This paper describes the complete implementation of the support for threadlevel speculation on the Hydra chip multiprocessor (CMP). ...
expand
VISA: Netstation's virtual Internet SCSI adapter
Rodney Van Meter, Gregory G. Finn, Steve Hotz
Pages: 71-80
doi>10.1145/291069.291023
Full text: PDFPDF

In this paper we describe the implementation of VISA, our Virtual Internet SCSI Adapter. VISA was built to evaluate the performance impact on the host operating system of using IP to communicate with peripherals, especially storage devices. We have built ...
expand
Active disks: programming model, algorithms and evaluation
Anurag Acharya, Mustafa Uysal, Joel Saltz
Pages: 81-91
doi>10.1145/291069.291026
Full text: PDFPDF

Several application and technology trends indicate that it might be both profitable and feasible to move computation closer to the data that it processes. In this paper, we evaluate Active Disk architectures which integrate significant processing ...
expand
A cost-effective, high-bandwidth storage architecture
Garth A. Gibson, David F. Nagle, Khalil Amiri, Jeff Butler, Fay W. Chang, Howard Gobioff, Charles Hardin, Erik Riedel, David Rochberg, Jim Zelenka
Pages: 92-103
doi>10.1145/291069.291029
Full text: PDFPDF

This paper describes the Network-Attached Secure Disk (NASD) storage architecture, prototype implementations oj NASD drives, array management for our architecture, and three, filesystems built on our prototype. NASD provides scalable storage bandwidth ...
expand
Hardware-software trade-offs in a direct Rambus implementation of the RAMpage memory hierarchy
Philip Machanick, Pierre Salverda, Lance Pompe
Pages: 105-114
doi>10.1145/291069.291032
Full text: PDFPDF

The RAMpage memory hierarchy is an alternative to the traditional division between cache and main memory: main memory is moved up a level and DRAM is used as a paging device. The idea behind RAMpage is to reduce hardware complexity, if at the cost of ...
expand
Dependence based prefetching for linked data structures
Amir Roth, Andreas Moshovos, Gurindar S. Sohi
Pages: 115-126
doi>10.1145/291069.291034
Full text: PDFPDF

We introduce a dynamic scheme that captures the accesspat-terns of linked data structures and can be used to predict future accesses with high accuracy. Our technique exploits the dependence relationships that exist between loads that produce addresses ...
expand
Performance counters and state sharing annotations: a unified approach to thread locality
Boris Weissman
Pages: 127-138
doi>10.1145/291069.291035
Full text: PDFPDF

This paper describes a combined approach for improving thread locality that uses the bardware performance monitors of modem processors and program-centric code annotations to guide thread scheduling on SMPs. The approach relies on a shared state cache ...
expand
Cache-conscious data placement
Brad Calder, Chandra Krintz, Simmi John, Todd Austin
Pages: 139-149
doi>10.1145/291069.291036
Full text: PDFPDF

As the gap between memory and processor speeds continues to widen, cache eficiency is an increasingly important component of processor performance. Compiler techniques have been used to improve instruction cache pet$ormance by mapping code with temporal ...
expand
An out-of-order execution technique for runtime binary translators
Bich C. Le
Pages: 151-158
doi>10.1145/291069.291039
Full text: PDFPDF

A dynamic translator emulates an instruction set architccturc by translating source instructions to native code during execution. On statically-scheduled hardware, higher performance can potentially be achieved by reordering the translated instructions; ...
expand
Overlapping execution with transfer using non-strict execution for mobile programs
Chandra Krintz, Brad Calder, Han Bok Lee, Benjamin G. Zorn
Pages: 159-169
doi>10.1145/291069.291040
Full text: PDFPDF

In order to execute a program on a remote computer, it mustfirst be transferred over a network. This transmission incurs the over-head of network latency before execution can begin. This latency can vary greatly depending upon the size of the program., ...
expand
Variable length path branch prediction
Jared Stark, Marius Evers, Yale N. Patt
Pages: 170-179
doi>10.1145/291069.291042
Full text: PDFPDF

Accurate branch prediction is required to achieve high performance in deeply pipelined, wide-issue processors. Recent studies have shown that conditional and indirect (or computed) branch targets can be accuratelypredicted by recording the path, which ...
expand
Performance isolation: sharing and isolation in shared-memory multiprocessors
Ben Verghese, Anoop Gupta, Mendel Rosenblum
Pages: 181-192
doi>10.1145/291069.291044
Full text: PDFPDF

Shared-memory multiprocessors (SMPs) are being extensively used as general-purpose servers. The tight coupling of multiple processors, memory, and I/O provides enormous computing power in a single system, and enables the efficient sharing of these resources.The ...
expand
UTLB: a mechanism for address translation on network interfaces
Yuqun Chen, Angelos Bilas, Stefanos N. Damianakis, Cezary Dubnicki, Kai Li
Pages: 193-204
doi>10.1145/291069.291046
Full text: PDFPDF

An important aspect of a high-speed network system is the ability to transfer data directly between the network interface and application buffers. Such a direct data path requires the network interface to "know" the virtual-to-physical address ...
expand
Locality-aware request distribution in cluster-based network servers
Vivek S. Pai, Mohit Aron, Gaurov Banga, Michael Svendsen, Peter Druschel, Willy Zwaenepoel, Erich Nahum
Pages: 205-216
doi>10.1145/291069.291048
Full text: PDFPDF

We consider cluster-based network servers in which a front-end directs incoming requests to one of a number of back-ends. Specifically, we consider content-based request distribution: the front-end uses the content requested, in addition to information ...
expand
Investigating optimal local memory performance
Olivier Temam
Pages: 218-227
doi>10.1145/291069.291050
Full text: PDFPDF

Recent work has demonstrated that, cache space is often poorly utilized. However, no previous work has yet demonstrated upper bounds on what a cache or local memory could achieve when exploiting both spatial and temporal locality. Belady's MIN algorithm ...
expand
Precise miss analysis for program transformations with caches of arbitrary associativity
Somnath Ghosh, Margaret Martonosi, Sharad Malik
Pages: 228-239
doi>10.1145/291069.291051
Full text: PDFPDF

Analyzing and optimizing program memory performance is a pressing problem in high-performance computer architectures. Currently, software solutions addressing the processor-memory performance gap include compiler-or programmer-applied optimizations like ...
expand
Capturing dynamic memory reference behavior with adaptive cache topology
Jih-Kwon Peir, Yongjoon Lee, Windsor W. Hsu
Pages: 240-250
doi>10.1145/291069.291053
Full text: PDFPDF

Memory references exhibit locality and are therefore not uniformly distributed across the sets of a cache. This skew reduces the effectiveness of a cache because it results in the caching of a considerable number of less-recently-used lines which are ...
expand
Accelerating multi-media processing by implementing memoing in multiplication and division units
Daniel Citron, Dror Feitelson, Larry Rudolph
Pages: 252-261
doi>10.1145/291069.291056
Full text: PDFPDF

This paper proposes a technique that enables performing multi-cycle (multiplication, division, square-root …) computations in a single cycle. The technique is based on the notion of memoing: saving the input and output of previous calculations ...
expand
Value speculation scheduling for high performance processors
Chao-Ying Fu, Matthew D. Jennings, Sergei Y. Larin, Thomas M. Conte
Pages: 262-271
doi>10.1145/291069.291058
Full text: PDFPDF

Recent research in value prediction shows a surprising amount of predictability for the values produced by register-writing instructions. Several hardware based value predictor designs have been proposed to exploit this predictability by eliminating ...
expand
An empirical study of decentralized ILP execution models
Narayan Ranganathan, Manoj Franklin
Pages: 272-281
doi>10.1145/291069.291061
Full text: PDFPDF

Recent fascination for dynamic scheduling as a means for exploiting instruction-level parallelism has introduced significant interest in the scalability aspects of dynamic scheduling hardware. In order to overcome the scalability problems of centralized ...
expand
Fast out-of-order processor simulation using memoization
Eric Schnarr, James R. Larus
Pages: 283-294
doi>10.1145/291069.291063
Full text: PDFPDF

Our new out-of-order processor simulatol; FastSim, uses two innovations to speed up simulation 8--15 times (vs. Wisconsin SimpleScalar) with no loss in simulation accuracy. First, FastSim uses speculative direct-execution to accelerate the functional ...
expand
A look at several memory management units, TLB-refill mechanisms, and page table organizations
Bruce L. Jacob, Trevor N. Mudge
Pages: 295-306
doi>10.1145/291069.291065
Full text: PDFPDF

Virtual memory is a staple in modem systems, though there is little agreement on how its functionality is to be implemented on either the hardware or software side of the interface. The myriad of design choices and incompatible hardware mechanisms suggests ...
expand
Performance of database workloads on shared-memory systems with out-of-order processors
Parthasarathy Ranganathan, Kourosh Gharachorloo, Sarita V. Adve, Luiz André Barroso
Pages: 307-318
doi>10.1145/291069.291067
Full text: PDFPDF

Database applications such as online transaction processing (OLTP) and decision support systems (DSS) constitute the largest and fastest-growing segment of the market for multiprocessor servers. However, most current system designs have been optimized ...
expand

Powered by The ACM Guide to Computing Literature


The ACM Digital Library is published by the Association for Computing Machinery. Copyright © 2016 ACM, Inc.
Terms of Usage   Privacy Policy   Code of Ethics   Contact Us

Useful downloads: Adobe Reader    QuickTime    Windows Media Player    Real Player
Did you know the ACM DL App is now available?
Did you know your Organization can subscribe to the ACM Digital Library?
The ACM Guide to Computing Literature
All Tags
Export Formats
 
 
Save to Binder