Файловое хранилище с адресным доступом (CAFS) от ICL: История и развитие
Content Addressable File Store
CAFS: аппаратное обеспечение ICL для дискового хранения с функцией поиска. Ускоряет доступ к данным, интегрируя логику поиска в контроллер диска. История разработки.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Content Addressable File Store (CAFS) — аппаратное устройство, разработанное компанией International Computers Limited (ICL), которое обеспечивало дисковое хранилище со встроенными возможностями поиска. Мотивацией для создания устройства было несоответствие между высокой скоростью передачи данных диском и значительно более низкой скоростью фильтрации данных процессором общего назначения при поиске записей, соответствующих заданным условиям. Разработка CAFS началась в Центре исследований и передового развития ICL под руководством Гордона Скарротта в конце 1960-х годов, после исследований Джорджа Кулуриса и Джона Эванса, которые провели полевое исследование систем баз данных и приложений в Имперском колледже и Королеве Мэри-колледже (Scarrott, 1995). Их исследование показало потенциал существенного повышения производительности в крупномасштабных приложениях баз данных за счет включения логики поиска непосредственно в дисковый контроллер. В первоначальной реализации логика поиска была встроена в головку диска. В 1970-х годах отдельные устройства CAFS были установлены у нескольких клиентов, включая службу телефонных справок BT Directory Enquiries. Впоследствии устройство было запущено в производство и в 1982 году стало стандартной функцией в мейнфреймах серий 2900 и 39 от ICL. К этому моменту, для снижения затрат и использования возросшей скорости аппаратного обеспечения, логика поиска была интегрирована в дисковый контроллер. Запрос, сформулированный на языке запросов высокого уровня, компилировался в спецификацию поиска, которая затем отправлялась в дисковый контроллер для выполнения. Первоначально эта возможность была интегрирована в собственный язык запросов Querymaster от ICL, который использовался совместно с базой данных IDMS; впоследствии она была интегрирована в VME-порт ICL для реляционной базы данных Ingres. В 1985 году ICL получила награду королевы за технологические достижения в области CAFS. Одним из факторов, ограничивших распространение CAFS, было требование устройства знать структуру данных на диске и накладывать на нее ограничения. Интеграция продуктов баз данных с CAFS часто требовала изменения структуры страниц, что делало интеграцию очень дорогостоящей, особенно в условиях рыночной тенденции к использованию стороннего программного обеспечения баз данных. Управление целостностью данных в многопоточной среде также требовало особого внимания, поскольку поиск CAFS выполнялся без учета блокировок и кэшей, поддерживаемых программным обеспечением базы данных. ICL также выпустила версию CAFS для своей линейки миникомпьютеров DRS под названием SCAFS (Сын CAFS). В отличие от своего «старшего брата», эта версия была реализована с использованием специализированной прошивки, работающей на стандартном микропроцессоре. Программное обеспечение, поддерживающее сторонние базы данных, включая Ingres, Informix и Oracle, продавалось под названием Ingres Search Accelerator (и т.д.). Для каждого стороннего продукта требовалась модификация, и он поставлялся с заглушкой интерфейса SCAFS, которую необходимо было заменить продуктом ICL. Технология также была лицензирована компании IBM для использования с DB2 на RS/6000. Устройство устарело по мере увеличения скорости процессоров, что устранило первоначальное обоснование его существования, а именно неспособность центрального процессора осуществлять поиск данных так же быстро, как подсистема диска могла их предоставить. Увеличение объема памяти также позволило хранить многие базы данных среднего размера целиком в памяти. Эти факторы лишили SCAFS массового рынка и сделали его нерентабельным.
The Content Addressable File Store (CAFS) was a hardware device developed by International Computers Limited (ICL) that provided a disk storage with built in search capability. The motivation for the device was the discrepancy between the high speed at which a disk could deliver data, and the much lower speed at which a general purpose processor could filter the data looking for records that matched a search condition. Development of CAFS started in ICL's Research and Advanced Development Centre under Gordon Scarrott in the late 1960s following research by George Coulouris and John Evans who had completed a field study at Imperial College and Queen Mary College on database systems and applications (Scarrott, 1995). Their study had revealed the potential for substantial performance improvements in large scale database applications by the inclusion of search logic in the disk controller. In its initial form, the search logic was built into the disk head. A standalone CAFS device was installed with a few customers, including BT Directory Enquiries, during the 1970s. The device was subsequently productised and in 1982 was incorporated as a standard feature within ICL's 2900 series and Series 39 mainframes. By this stage, to reduce costs and to take advantage of increased hardware speeds, the search logic was incorporated into the disk controller. A query expressed in a high level query language could be compiled into a search specification that was then sent to the disk controller for execution. Initially this capability was integrated into ICL's own Querymaster query language, which worked in conjunction with the IDMS database; subsequently it was integrated into the ICL VME port of the Ingres relational database. ICL received the Queen's Award for Technological Achievement for CAFS in 1985. One factor which limited the adoption of CAFS was that the device needed to know the layout of data on disk, and placed constraints on this layout. Integrating database products with CAFS often involved a change in page layout, making the integration very expensive, especially with the market trend towards use of third party database software. Managing data integrity in a concurrent environment also required close attention, since a CAFS search would execute without any knowledge of locks and caches maintained by the database software. ICL also produced a version of CAFS for its DRS minicomputer range called SCAFS (Son of CAFS). Unlike its mainframe cousin, this was implemented using custom firmware running on an industry standard microprocessor. Software supporting third party databases including Ingres, Informix and Oracle was marketed as the Ingres Search Accelerator (etc.). Each third party product required modification, and was supplied with a dummy SCAFS interface library, to be replaced by the ICL product. The technology was also licensed to IBM for use with DB2 on the RS/6000. The device eventually became obsolete as processor speeds increased, removing the original justification for the device, namely that a central processor was not able to search data as fast as the disk subsystem could deliver it. Larger memory sizes also meant that many medium sized databases could be kept entirely in memory. These factors removed any mass market for SCAFS and made it uneconomic.