@TechReport{milenkovic:model, author = {Milan Milenkovi\'c}, title = {A Model for Multiprocessor {I/O}}, year = {1989}, month = {July}, number = {89-CSE-30}, institution = {Dept. of Computer Science and Engineering, Southern Methodist University}, keywords = {multiprocessor I/O, I/O architecture, distributed system, pario-bib}, comment = {Advocates using dedicated server processors for all I/O, e.g., disk server, terminal server, network server. Pass I/O requests and data via messages or RPC calls over the interconnect (here a shared bus). Server handles packaging, blocking, caching, errors, interrupts, and so forth, freeing the main processors and the interconnect from all this activity. Benefits: encapsulates I/O-related stuff in specific places, accommodates heterogeneity, improves performance. Nice idea, but allows for an I/O bottleneck, unless server can handle all the demand. Otherwise would need multiple servers, more expensive than just multiple controllers.} }