Parallel Architectures for MEDLINE Search
Rajendra V. Boppana (University of Texas at San Antonio, USA), Suresh Chalasani (University of Wisconsin-Parkside, USA), Bob Badgett (University of Texas Health Science Center at San Antonio, USA) and Jacqueline A. Pugh (University of Texas Health Science Center at San Antonio, USA)
Copyright: © 2008
In this article, we describe a parallel architecture for MEDLINE database integrated with search refinement tools to facilitate accurate and fast response to search requests by users. The proposed architecture, to be developed by the authors, will use low-cost, high-performance computing clusters consisting of Linux based personal computers and workstations (i) to provide subsecond response times for individual searches and (ii) to support several concurrent queries from search refinement programs such as SUMSearch.
Key Terms in this Chapter
Cluster of Computers: Several personal computers or workstations interconnected by an Ethernet or similar local area network and having a common communication software such as MPI (message passing interface) to solve various parts of a problem concurrently.
MEDLINE: Database of citations and links to much of the world’s biomedical research. MEDLINE is maintained by the National Library of Medicine of the National Institutes of Health.
Index List: A list that indicates IDs of records that contain a given keyword.
Performance Model: An analytical model used to predict various performance metrics such as speedup of search request response time, number of computers needed for optimal search times, and so forth
Parallel Computing: The execution of a single task using multiple processors in order to speed up the task. In parallel computing, a single task may be divided into multiple subtasks that are assigned to the available processors. The results from these subtasks often are merged together to complete the task
Search Engine: A special software designed to retrieve from a database the records relevant to the search terms given by the user.
Servers: A computer designed to accept and execute certain types of tasks. Types of servers used in this chapter include Web servers, which interface with user via a Web browser, application servers, which interpret the incoming search requests and dynamically construct the search results, and database servers, which retrieve records based on the IDs indicated by the application servers