Browse Prior Art Database

High Performance Channel Program Translation for Virtual Storage Systems

IP.com Disclosure Number: IPCOM000081773D
Original Publication Date: 1974-Aug-01
Included in the Prior Art Database: 2005-Feb-28
Document File: 3 page(s) / 61K

Publishing Venue

IBM

Related People

van Galen, J: AUTHOR

Abstract

IBM System/370 hardware provides for dynamic translation of virtual addresses used by the CPU, whereas translation of addresses in Channel Command Words (CCWs) is a software function. System overhead due to present techniques in DOS/VS, VS1 and VS2, can be significantly reduced by exploiting the repetitive nature of practically all user I/O operations.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

High Performance Channel Program Translation for Virtual Storage Systems

IBM System/370 hardware provides for dynamic translation of virtual addresses used by the CPU, whereas translation of addresses in Channel Command Words (CCWs) is a software function. System overhead due to present techniques in DOS/VS, VS1 and VS2, can be significantly reduced by exploiting the repetitive nature of practically all user I/O operations.

This method "remembers" previous translations of virtual channel programs (CCW chains), and reuses the real, i.e., translated, copies rather than going through the same translation process over and over again. The extra overhead introduced by saving and retrieving the real copies is largely compensated by the elimination of, say, 90% of analyzing the channel programs, translating the addresses, and constructing real copies. Additional performance gain results from keeping the pages containing I/O buffers fixed in real storage for the time they are being used, and provided that there is only slight or moderate paging in the system.

Of each virtual channel program a REPLICA is created at first translation time, which includes the address and relevant contents of the associated virtual Command Control Block (CCB). The ordering in queues per partition/task facilitates later recognition. Part of the REPLICA is administrative data, such as the length of the CCW chain and a time-stamp field. A time stamp is given initially when the REPLICA is created and further each time it is matched. Moreover, it is then placed at the top of its queue, so that the next time the same task issues an I/O request this will be the first one to be scanned by the recognition procedure. Also the copied CCBs are arranged in queues. CCBs associated with outstanding I/O remain at the ACTIVE-CCB queue. After completion of the I/O they will be inserted at the top of the SAVED-CCB queue. This implies that the bottom element of the SAVED-CCB queue belongs at any moment to the least recently used (LRU) channel program in the system. The same is true for the bottom element of each REPLICA queue, but then for that partition/task.

Therefore, both queue position and time-stamp value are used as criteria for the deletion of "old" copies, and for the freein...