Toward Efficient In-Memory Data Analytics on NUMA Systems

Total Page:16

File Type:pdf, Size:1020Kb

Toward Efficient In-Memory Data Analytics on NUMA Systems Toward Efficient In-memory Data Analytics on NUMA Systems Puya Memarzia Suprio Ray Virendra C Bhavsar Univeristy of New Brunswick Univeristy of New Brunswick Univeristy of New Brunswick Fredericton, Canada Fredericton, Canada Fredericton, Canada [email protected] [email protected] [email protected] ABSTRACT memory query processing systems have been increasingly Data analytics systems commonly utilize in-memory query adopted, due to continuous improvements in DRAM capac- processing techniques to achieve better throughput and ity and speed, and the growing demands of the data analyt- lower latency. Modern computers increasingly rely on Non- ics industry [36]. As the hardware landscape shifts toward Uniform Memory Access (NUMA) architectures in order to greater parallelism and scalability, keeping pace with these achieve scalability. A key drawback of NUMA architectures changes and maintaining efficiency are a key challenge. is that many existing software solutions are not aware of The development of commodity CPU architectures con- the underlying NUMA topology and thus do not take full tinues to be influenced by various obstacles that hinder the advantage of the hardware. Modern operating systems are speed and quantity of processing cores that can be packed designed to provide basic support for NUMA systems. How- into a single processor die [1]. The power wall motivated ever, default system configurations are typically sub-optimal the development of multi-core CPUs [22], which have be- for large data analytics applications. Additionally, achiev- come the de facto industry standard. The memory wall [50, ing NUMA-awareness by rewriting the application from the 65] is a symptom of the growing gap between CPU and ground up is not always feasible. memory performance, and the bandwidth starvation of pro- In this work, we evaluate a variety of strategies that aim cessing cores that share the same memory controller. The to accelerate memory-intensive data analytics workloads on demand for greater processing power has pushed the adop- NUMA systems. We analyze the impact of different mem- tion of various decentralized memory controller layouts, ory allocators, memory placement strategies, thread place- which are collectively known as non-uniform memory access ment, and kernel-level load balancing and memory manage- (NUMA) architectures. These architectures are widely pop- ment mechanisms. Our findings indicate that the operating ular in the server and high performance workstation mar- system default configurations can be detrimental to query kets, where they are used for compute-intensive and data- performance. With extensive experimental evaluation we intensive tasks. NUMA architectures are pervasive in multi- demonstrate that methodical application of these techniques socket and in-memory rack-scale systems. Recent develop- can be used to obtain significant speedups in four common- ments have led to On-Chip NUMA Architectures (OCNA) place in-memory data analytics workloads, on three different that partition the processor's cores into multiple NUMA re- hardware architectures. Furthermore, we show that these gions, each with their own dedicated memory controller [52, strategies can speed up two popular database systems run- 67]. It is clear that the future is NUMA, and that the soft- ning a TPC-H workload. ware stack needs to evolve and keep pace with these changes. Although these advances have opened a path toward greater performance, the burden of efficiently leveraging the hard- Categories and Subject Descriptors ware has mostly fallen on software developers and system H.2.4 [Systems]: Query Processing administrators. Although a NUMA system's memory is shared among all arXiv:1908.01860v3 [cs.DB] 25 Jan 2020 Keywords its processors, the access times to different portions of the memory varies depending on the topology. NUMA systems NUMA, Memory Allocators, Memory Management, Con- encompass a wide variety of CPU architectures, topologies, currency, Database Systems, Operating Systems and interconnect technologies. As such, there is no stan- dard for what a NUMA system's topology should look like. 1. INTRODUCTION Due to the variety of NUMA topologies and applications, The digital world is producing large volumes of data at fine-tuning the algorithm to a single machine configuration increasingly higher rates [76, 34, 68]. Data analytics sys- will not necessarily achieve optimal performance on other tems are among the key technologies that power the in- machines. Given sufficient time and resources, applications formation age. The breadth of applications that depend could be fine-tuned to the different system configurations on efficient data processing has grown dramatically. Main that they are deployed on. However, in the real world, this is not always feasible. Therefore, it is desirable to pursue c 2019 Copyright held by the owner/author(s). Permission to make solutions that can improve performance across-the-board, digital or hard copies of all or part of this work for personal or class- without tuning the code. room use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear In an effort to provide a general solution that speeds up this notice and the full citation on the first page. 1 applications on NUMA systems, some researchers have pro- ing this problem without extensively modifying the code posed using NUMA schedulers that co-exist with the oper- requires tools and tuning strategies that are application- ating system (OS). These schedulers operate by monitoring agnostic. In this work, we evaluate the viability of several running applications in real-time, and managing thread and key approaches that aim to achieve this. In this context, memory placement [7, 15, 47]. The schedulers make deci- the impact and role of memory allocators have been under- sions based on memory access patterns, and aim to balance appreciated and overlooked. We demonstrate that signifi- the system load. However, some of these approaches are not cant performance gains can be achieved by altering policies architecture or OS independent. For instance, Carrefour [13] that affect thread placement, memory allocation and place- needs an AMD CPU based on the K10 architecture, in ad- ment, and load balancing. In particular, we investigate 5 dition to a modified OS kernel. Moreover, researchers have different workloads that prominently feature joins and ag- have argued that these schedulers may not be beneficial for gregations, arguably two of the most popular and compu- multi-threaded in-memory query processing [58]. A differ- tationally expensive workloads used in data analytics. Our ent approach involves either extensively modifying or com- study covers the following aspects: pletely replacing the operating system. This is done with 1. Dynamic memory allocators (Section 3.1) the goal of providing a custom tailored environment for the 2. Thread placement and scheduling (Section 3.2) application. Some researchers have pursued this direction 3. Memory placement policies (Section 3.3) with the goal of providing an operating system that is more 4. Operating system configuration: virtual memory page suitable for large database applications [24, 26, 27]. Custom size and NUMA load balancing (Section 3.4) operating systems aim to reduce the burden on developers, An important finding from our research is that the default but their adoption has been limited due to the high pace of operating system environment can be detrimental to query advances in both the hardware and software stack. In the performance. For instance, the default Linux memory allo- past, researchers in the systems community proposed a few cator ptmalloc can perform poorly compared to other alter- new operating systems for multicore architecture, including natives. Furthermore, with extensive experimental evalua- Corey [9], Barrelfish [3] and fos [80]. However, none of them tion, we demonstrate that it is possible to systematically uti- were adopted by the industry. We believe that any custom lize application-agnostic (or black-box) approaches to obtain operating system designed for data analytics will follow the speedups on a variety of in-memory data analytics work- same trajectory. On the other hand, these efforts underscore loads. We show that a hash join workload achieves a 3× the need to investigate the impact of system and architec- speedup on Machine C (see machine topologies in Figure 1 tural aspects on query performance. and specifications in Table 3), just from using the tbbmalloc In recent times, researchers in the database community memory allocator. This speedup improves to 20× when we have started to pay attention to the issues with query perfor- utilize the Interleave memory placement policy and modify mance on NUMA systems. These researchers have favored the OS configuration. We also show that our findings can a more application-oriented approach that involves algorith- carry over to other hardware configurations, by evaluating mic tweaks to the application's source code, particularly, in the experiments on machines with three different hardware the context of query processing engines. Among these works architectures and NUMA topologies. Lastly, we show that some are static solutions that attempted to make query op- performance can be improved on two real database systems: erators NUMA-aware [66, 78]. Others are dynamic solu- MonetDB and PostgreSQL. For example, MonetDB's query tions that focused on work allocation to threads using work- latency for the TPC-H workload
Recommended publications
  • Data Warehouse Fundamentals for Storage Professionals – What You Need to Know EMC Proven Professional Knowledge Sharing 2011
    Data Warehouse Fundamentals for Storage Professionals – What You Need To Know EMC Proven Professional Knowledge Sharing 2011 Bruce Yellin Advisory Technology Consultant EMC Corporation [email protected] Table of Contents Introduction ................................................................................................................................ 3 Data Warehouse Background .................................................................................................... 4 What Is a Data Warehouse? ................................................................................................... 4 Data Mart Defined .................................................................................................................. 8 Schemas and Data Models ..................................................................................................... 9 Data Warehouse Design – Top Down or Bottom Up? ............................................................10 Extract, Transformation and Loading (ETL) ...........................................................................11 Why You Build a Data Warehouse: Business Intelligence .....................................................13 Technology to the Rescue?.......................................................................................................19 RASP - Reliability, Availability, Scalability and Performance ..................................................20 Data Warehouse Backups .....................................................................................................26
    [Show full text]
  • Supporting Decision Making Chapter
    Chapter 5 Supporting Decision Making McGraw-Hill/Irwin Copyright © 2008, The McGraw-Hill Companies, Inc. All rights reserved. Chapter Highlights • Introduction • Decision support systems • Management information systems • Online analytical processing • Using decision support systems • Executive information systems • Enterprise information portals • Knowledge management systems 2-2 Learning Objectives • Identify the changes taking place in the form and use of decision support in business. • Identify the role and reporting alternatives of management information systems. • Describe how online analytical processing can meet key information needs of managers. • Explain how the following IS can support the information needs of executives, managers and business professionals: a. Executives information systems b. Enterprise information portals c. Knowledge management systems 2-3 INTRODUCTION • To succeed in business today, companies need IS that can support the diverse information and decision making needs of their managers and business professionals. • Internet, Intranets and other Web enabled information technologies have significantly support the role that IS play in supporting the decision making activities of every managers and knowledge workers in business. 2-4 • The type of information required by decision makers in a company is directly related to the level of management decision making and the amount of structure in the decision situations they face. • Levels of managerial decision making that must be supported by information technology in a successful organization are: • Strategic management • Tactical management • Operational management 2-5 • Strategic Management • Board of directors and an executive committee of the CEO and top executives develop overall organizational goals, strategies, policies and objectives as part of a strategic planning process. • They also monitor the strategic performance of the organization and its overall direction in the political, economic and competitive business environment.
    [Show full text]
  • Cluster Analysis for Olap in Online Decision Support Systems
    Turkish Journal of Physiotherapy and Rehabilitation; 32(3) ISSN 2651-4451 | e-ISSN 2651-446X CLUSTER ANALYSIS FOR OLAP IN ONLINE DECISION SUPPORT SYSTEMS Kiruthika S1, Umamaheswari E2, Karmel A3, Kanchana Devi V4 1Department of Computer Science and Engineering, Sona College of Technology, Salem. [email protected] 2Associate Professor Grade - II, Center Faculty - Cyber Physical Systems, Vellore Institute of Technology, Chennai, 600 127, Tamilnadu, India [email protected] 3Associate Professor Grade - I, School of Computer Science and Engineering, Vellore Institute of Technology, Chennai, 600 127, Tamilnadu, India [email protected] 4Associate Professor Grade - I, School of Computer Science and Engineering, Vellore Institute of Technology, Chennai, 600 127, Tamilnadu, India [email protected] ABSTRACT Online Decision Support Systems serve people of different segments of the society viz., traders, business enthusiasts, entrepreneurs, etc., Decision Support Systems are used in almost every business segment, spanning from micro-level to High level and even Heavy industries. This phenomenon is one of the results of Globalization. Proper decisions have to be made in every business industry to cope up with the prevailing market conditions. These Decision support systems are fed with large volumes of data. These data volumes are generally huge and heterogeneous. Cluster Analysis is a technique used to find out the group of data which is similar to each other and dissimilar to other data. This technique is very important for the efficient functioning of any Online Decision Support System. This paper focuses on using the Cluster Analysis Techniques to make the Decision Support Systems to work efficiently.
    [Show full text]
  • A Systematic Review and Taxonomy of Explanations in Decision Support and Recommender Systems
    Noname manuscript No. (will be inserted by the editor) A Systematic Review and Taxonomy of Explanations in Decision Support and Recommender Systems Ingrid Nunes · Dietmar Jannach Received: date / Accepted: date Abstract With the recent advances in the field of artificial intelligence, an increasing number of decision-making tasks are delegated to software systems. A key requirement for the success and adoption of such systems is that users must trust system choices or even fully automated decisions. To achieve this, explanation facilities have been widely investigated as a means of establishing trust in these systems since the early years of expert systems. With today's increasingly sophisticated machine learning algorithms, new challenges in the context of explanations, accountability, and trust towards such systems con- stantly arise. In this work, we systematically review the literature on expla- nations in advice-giving systems. This is a family of systems that includes recommender systems, which is one of the most successful classes of advice- giving software in practice. We investigate the purposes of explanations as well as how they are generated, presented to users, and evaluated. As a result, we derive a novel comprehensive taxonomy of aspects to be considered when de- signing explanation facilities for current and future decision support systems. The taxonomy includes a variety of different facets, such as explanation objec- tive, responsiveness, content and presentation. Moreover, we identified several challenges that remain unaddressed so far, for example related to fine-grained issues associated with the presentation of explanations and how explanation facilities are evaluated. Keywords Explanation · Decision Support System · Recommender System · Expert System · Knowledge-based System · Systematic Review · Machine Learning · Trust · Artificial Intelligence I.
    [Show full text]
  • Teradata Solution Technical Overview
    Teradata Solution Technical Overview 05.15 EB3025 DaTa WarEhOuSing Table of contents Teradata Pioneered Data Warehousing 2 Teradata Pioneered Data Warehousing Since our first shipment of the Teradata® Database, we’ve gained more than 35 years of experience building and 2 Making Smarter, Faster Decisions supporting data warehouses worldwide. Today, Teradata solutions outperform other vendors’ data warehouse 2 Real, measurable Data Warehouse rOi solutions, from small to very large production warehouses 3 Data Warehousing Leader with petabytes of data. With a family of workload-specific platforms, all running the Teradata Database, that lead 4 The Database—a critical component of Your spans needs from specialized analytical applications to Data Warehouse the most general enterprise data management. 5 Teradata Database—The Premier Performer Teradata corporation offers a powerful, complete solution that combines parallel database technology and scal- 5 What is Parallel Processing? able hardware with the world’s most experienced data warehousing consultants, along with the best tools and 6 Key Definitions applications available in the industry today. 9 Application Programming interfaces making Smarter, Faster Decisions 9 Language Preprocessors 9 Data utilities most companies have large volumes of detailed opera- tional data, but key business analysts and decision makers 9 Database administration Tools still can’t get the answers they need to react quickly enough to changing conditions. Why? Because the data 10 Access from anywhere are spread across many departments in the organiza- tion or are locked in a sluggish technology environment. 10 Need more reasons to choose Teradata? Today, Teradata solutions are helping companies like 11 How industries use Teradata yours consolidate those data to present a single view of your business.
    [Show full text]
  • The Impact of Business Intelligence and Decision Support on the Quality of Decision Making an Empirical Study on Five Stars Hotels in Amman Capital
    The Impact of Business Intelligence and Decision Support on the Quality of Decision Making An Empirical Study on Five Stars Hotels in Amman Capital Prepared by Hadeel A. Mohammad Supervisor Prof. Mohammad AL- Nuiami THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF Master in E-Business Faculty of Business Middle East University May / 2012 II Authorization I am Hadeel A. Mohammad; authorize Middle East University to make copies of my dissertation to libraries, institutions, or people when asked III DISCUSSION COMMITTEE DECISION This dissertation was discussed under title: The Impact of Business Intelligence and Decision Support on the Quality of Decision Making: An Empirical Study on Five Stars Hotels in Amman Capital It was approved on May 2012 Date: 27 / 5 / 2012 IV Acknowledgements This thesis is the product of an educational experience at MEU, various people have contributed towards its completion at different stages, either directly or indirectly, and any attempt to thank all of them is bound to fall short. To begin, I would like to express my whole hearted and sincere gratitude to Dr. Mohammad AL- Nuiami for his guidance, time, and patience, for supporting me and this thesis during every stage of its development. I would like to extend my special thanks to my husband, without whose encouragement and support; I wouldn’t have been here completing my degree’s final requirements. Sincerely Yours, Hadeel A. Mohammad V Dedication To My father and mother soul My husband and sons And to all my family members Sincerely
    [Show full text]
  • An Interactive Intelligent Decision Support System for Integration of Inventory
    An Interactive Intelligent Decision Support System for Integration of Inventory, Planning, Scheduling and Revenue Management A dissertation presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements for the degree Doctor of Philosophy Ehsan Ardjmand August 2015 © 2015 Ehsan Ardjmand. All Rights Reserved. 2 This dissertation titled An Interactive Intelligent Decision Support System for Integration of Inventory, Planning, Scheduling and Revenue Management by EHSAN ARDJMAND has been approved for the Department of Industrial and Systems Engineering and the Russ College of Engineering and Technology by Gary R. Weckman Associate Professor of Industrial and Systems Engineering Dennis Irwin Dean, Russ College of Engineering and Technology 3 ABSTRACT ARDJMAND, EHSAN, Ph.D., August 2015, Mechanical and Systems Engineering An Interactive Intelligent Decision support system for Integration of Inventory, Planning, Scheduling and Revenue Management Director of Dissertation: Gary R. Weckman The long-term permanency and profitability of a firm requires decisions to be made wisely and on time. For this purpose, it is essential to consider all aspects of a decision in terms of its impact on revenue, planning, scheduling, and inventory in an integrated framework. In this research paper, an interactive intelligent decision support system for making an integrated decision in the presence of demand uncertainty is proposed. The system operates in a multi-product, multi-period setting, and its objective is to maximize the profit of the firm over time. To achieve its objective, the system first obtains the optimal price and capacity plan for the coming periods. The output of this first step becomes the input for the second step, in which the problem of scheduling is solved.
    [Show full text]
  • A Decision Support System (DSS) Is a Computer Program Application That Analyzes Business Data and Presents It So That Users Can Make Business Decisions More Easily
    Decision Support System (DSS) A decision support system (DSS) is a computer program application that analyzes business data and presents it so that users can make business decisions more easily. decision support system (DSS) is a computer program application that analyzes business data and presents it so that users can make business decisions more easily. It is an "informational application" (to distinguish it from an "operational application" that collects the data in the course of normal business operation).Typical information that a decision support application might gather and present would be: Comparative sales figures between one week and the next Projected revenue figures based on new product sales assumptions The consequences of different decision alternatives, given past experience in a context that is described A decision support system may present information graphically and may include an expert system or artificial intelligence (AI). It may be aimed at business executives or some other group of knowledge workers. http://searchcio.techtarget.com/definition/decision-support-system A Decision Support System (DSS) is a computer-based information system that supports business or organizational decision-making activities. DSSs serve the management, operations, and planning levels of an organization (usually mid and higher management) and help to make decisions, which may be rapidly changing and not easily specified in advance (Unstructured and Semi-Structured decision problems). Decision support systems can be either fully computerized, human or a combination of both. While academics have perceived DSS as a tool to support decision making process, DSS users see DSS as a tool to facilitate organizational processes.[1] Some authors have extended the definition of DSS to include any system that might support decision making.[2] Sprague (1980) defines DSS by its characteristics: 1.
    [Show full text]
  • The Effect of Usability and Information Quality on Decision Support
    ial Scien oc ce S s d J n o u a r s n t a r l Atta, Arts Social Sci J 2017, 8:2 A Arts and Social Sciences Journal DOI: 10.4172/2151-6200.1000257 ISSN: 2151-6200 Research Article OMICS International The Effect of Usability and Information Quality on Decision Support Information System (DSS) Atta MT* Faculty of Computer System and Software Engineering, Universiti Malaysia Pahang, Kuantan, Pahang, Malaysia *Corresponding author: Atta MT, Faculty of Computer System and Software Engineering, Universiti Malaysia Pahang, Kuantan, Pahang, Malaysia, Tel: +60-9-4245000; E-mail: [email protected] Received date: February 20, 2017; Accepted date: March 22, 2017; Published date: March 28, 2017 Copyright: © 2017 Atta MT. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. Abstract Decision-making is complex process that involves people and information system. A Decision Support Systems (DSS) is a set of specific class of computerized information systems that support decision making activities of businesses and organizations. There are certain factors that affect the performance of DSS such as information quality and usability of these systems. This study aims to introduce the concept of usability and information quality in general and examining their effects on the DSS. The study found that both usability and information quality have strong effect on the output of any information system and in particular DSS. The study recommended that the developers of information systems must pay high attention to develop the content provided by IS before process them by DSS as well as they ensure DSS is easy to use and get required information to support decision making process, for example the developers should focus on easy navigation through the system, good interface and reaching information in proper time.
    [Show full text]
  • OLAP-Based Decision Support System for Business Data Analysis
    International Journal of Computer Applications (0975 – 8887) Volume 181 – No. 18, September 2018 OLAP-based Decision Support System for Business Data Analysis Md. Geaur Rahman Zannatul Ferdaus Md. Nobir Uddin Bangladesh Agricultural Bangladesh Bank Ministry of ICT University Mymensingh, Bangladesh Dhaka, Bangladesh Mymensingh, Bangladesh ABSTRACT making. DSS advances the capabilities of MIS by assisting Nowadays automated data collection tools and mature database management in making decisions [7, 8, 9, 10]. It is actually a technology lead to tremendous amounts of data stored in continually evolving model that relies heavily on operation databases, data warehouses and other information repositories research. The original term is simple: Decision-emphasizes in business organizations. In this paper, a novel approach of decision making in problem situations, not information developing a decision support system using on-line analytical processing, or reporting. Support- requires computer aided processing (OLAP) is presented. The OLAP application is decision situation with enough “structure” to permit computer optimal for data queries that do not change data. The system support. System-accentuates the integrated nature of problem database is designed to promote: heavy indexing to improve solving tool that combines “man,” machine, and decision query performance, denormalisation of the database to satisfy environment [11, 12]. The system database is designed to common query requirements and improve query response promote: heavy indexing to improve query performance, times, and use of a star-snowflake schema to organize the data denormalisation of the database to satisfy common query within the database. The existing partitioning strategy is used to requirements and improve query response times, and use of a partition the fact table by time into equal segments, different- star-snowflake schema to organize the data within the database.
    [Show full text]
  • 2 Decision Support Systems and Decision-Making Processes
    Decision-making support systems: Theory & practice Decision Support Systems and decision-making processes 2 Decision Support Systems and decision-making processes This chapter appears in Encyclopedia of Decision Making and Decision Support Technologies edited by F. Adam and P. Humphreys. Copyright 2008 by IGI Global, www.igi-global.com. Reprinted by permission of the publisher. 2.1 Introduction Decision Support Systems (DSS) deal with semi-structured problems. Such problems arise when managers in organisations are faced with decisions where some but not all aspects of a task or procedure are known. To solve these problems and use the results for decision-making, requires judgement of the manager using the system. Typically such systems include models, data manipulation tools and the ability to handle uncertainty and risk. hese systems involve information and decision technology (Forgionne, 2003). Many organisations are turning to DSS to improve decision-making (Turban et al., 2004). his is a result of the conventional information systems (IS) not being suicient to support an organisation’s critical response activities – especially those requiring fast and/or complex decision-making. In general, DSS are a broad category of IS (Power, 2003). A DSS is deined as “an interactive, lexible, and adaptable computer-based information system, specially developed for supporting the solution of a non-structured management problem for improved decision-making. It utilises data, it provides easy user interface, and it allows for the decision maker’s own insights” (Turban, 1995). here is a growing trend to provide managers with IS that can assist them in their most important task – making decisions.
    [Show full text]
  • Evaluating Collaborative Filtering Recommender Systems
    Evaluating Collaborative Filtering Recommender Systems JONATHAN L. HERLOCKER Oregon State University and JOSEPH A. KONSTAN, LOREN G. TERVEEN, and JOHN T. RIEDL University of Minnesota Recommender systems have been evaluated in many, often incomparable, ways. In this article, we review the key decisions in evaluating collaborative filtering recommender systems: the user tasks being evaluated, the types of analysis and datasets being used, the ways in which prediction quality is measured, the evaluation of prediction attributes other than quality, and the user-based evaluation of the system as a whole. In addition to reviewing the evaluation strategies used by prior researchers, we present empirical results from the analysis of various accuracy metrics on one con- tent domain where all the tested metrics collapsed roughly into three equivalence classes. Metrics within each equivalency class were strongly correlated, while metrics from different equivalency classes were uncorrelated. Categories and Subject Descriptors: H.3.4 [Information Storage and Retrieval]: Systems and Software—performance Evaluation (efficiency and effectiveness) General Terms: Experimentation, Measurement, Performance Additional Key Words and Phrases: Collaborative filtering, recommender systems, metrics, evaluation 1. INTRODUCTION Recommender systems use the opinions of a community of users to help indi- viduals in that community more effectively identify content of interest from a potentially overwhelming set of choices [Resnick and Varian 1997]. One of This research was supported by the National Science Foundation (NSF) under grants DGE 95- 54517, IIS 96-13960, IIS 97-34442, IIS 99-78717, IIS 01-02229, and IIS 01-33994, and by Net Perceptions, Inc. Authors’ addresses: J. L. Herlocker, School of Electrical Engineering and Computer Science, Oregon State University, 102 Dearborn Hall, Corvallis, OR 97331; email: [email protected]; J.
    [Show full text]