Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Kevin Wilkinson

dblp:w/KevinWilkinson · also W. Kevin Wilkinson · DBLP profile ↗
← Back
34ranked-venue papers
5as first author
0since 2021 · last 2019
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 27 · 5 first-authorSystems, architecture and hardware · 3Software engineering, systems software and programming languages · 2Theory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
17 papers
Data integration and cleaning · 57% Database system architecture and tuning · 21% Query processing and optimization · 17%
Computer architecture, parallel and distributed computing, and storage systems
9 papers
Cloud and datacenter computing · 58% Energy-efficient computing · 17% Distributed systems · 8%

Topics — the 30 heaviest of 42, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Query processing and optimization › analytical query processing
analytic data flow optimization
0.322014
BabbleFlow: a translator for analytic data flow programs · SIGMOD Conference 2014
Optimizing analytic data flows for multiple execution engines · SIGMOD Conference 2012
Data integration and cleaning › heterogeneous query processing
cross-platform query processing
0.212014
Engine independence for logical analytic flows · ICDE 2014
Data integration and cleaning › extract-transform-load
ETL process optimization
0.222013
Optimizing ETL workflows for fault-tolerance · ICDE 2010
HFMS: Managing the lifecycle and complexity of hybrid analytic data flows · ICDE 2013
Cloud and datacenter computing › cluster resource management and scheduling
cluster resource management
0.112012
CloudAlloc: a monitoring and reservation system for compute clusters · SIGMOD Conference 2012
Energy-efficient computing
energy-aware scheduling
0.112012
CloudAlloc: a monitoring and reservation system for compute clusters · SIGMOD Conference 2012
Cloud and datacenter computing › resource management
resource allocation and scheduling
0.112012
CloudAlloc: a monitoring and reservation system for compute clusters · SIGMOD Conference 2012
Database system architecture and tuning
workload management
0.112009
A Testbed for Managing Dynamic Mixed Workloads · Proc. VLDB Endow. 2009
Database system architecture and tuning › database performance management › query performance analysis
query performance diagnosis
0.112014
VQA: vertica query analyzer · SIGMOD Conference 2014
GPUs and heterogeneous computing › heterogeneous architecture
heterogeneous processors
0.112014
Engine independence for logical analytic flows · ICDE 2014
Distributed systems
resource monitoring
0.012012
CloudAlloc: a monitoring and reservation system for compute clusters · SIGMOD Conference 2012
Electronic design automation
multi-objective optimization
0.012010
Optimizing ETL workflows for fault-tolerance · ICDE 2010
Embedded and real-time systems › real-time scheduling
admission control
0.012009
A Testbed for Managing Dynamic Mixed Workloads · Proc. VLDB Endow. 2009
Cloud and datacenter computing
cluster resource management and scheduling
0.012009
A Testbed for Managing Dynamic Mixed Workloads · Proc. VLDB Endow. 2009
Data models and query languages
object-oriented database
0.021990
The Iris Architecture and Implementation · IEEE Trans. Knowl. Data Eng. 1990
The Iris Database System · SIGMOD Conference 1990
Distributed and cloud data management › distributed caching
cache consistency
0.011990
Maintaining Consistency of Client-Cached Data · VLDB 1990
Indexing and storage engines › caching
client-side caching
0.011990
Maintaining Consistency of Client-Cached Data · VLDB 1990
Distributed systems
distributed database
0.011989
On Distributing JASMIN's Optimistic Multiversioning Page Manager · IEEE Trans. Software Eng. 1989
Distributed systems › distributed database
distributed transactions
0.011989
On Distributing JASMIN's Optimistic Multiversioning Page Manager · IEEE Trans. Software Eng. 1989
Distributed systems › concurrency control
multi-version concurrency control
0.011989
On Distributing JASMIN's Optimistic Multiversioning Page Manager · IEEE Trans. Software Eng. 1989
Distributed systems › concurrency control
optimistic concurrency control
0.011989
On Distributing JASMIN's Optimistic Multiversioning Page Manager · IEEE Trans. Software Eng. 1989
Database system architecture and tuning
database machine
0.021984
Overview of the Jasmin Database Machine · SIGMOD Conference 1984
Implementation of the Database Machine DIRECT · IEEE Trans. Software Eng. 1982
Parallel and multicore computing
parallel algorithms
0.011988
Sorting Large Files on a Backend Multiprocessor · IEEE Trans. Computers 1988
Parallel and multicore computing › parallel algorithms › sorting
parallel sorting
0.011988
Sorting Large Files on a Backend Multiprocessor · IEEE Trans. Computers 1988
Query processing and optimization
parallel query processing
0.021983
Parallel Algorithms for the Execution of Relational Database Operations · ACM Trans. Database Syst. 1983
Implementation of the Database Machine DIRECT · IEEE Trans. Software Eng. 1982
Transaction processing and concurrency control
concurrency control
0.021990
Maintaining Consistency of Client-Cached Data · VLDB 1990
On Distributing JASMIN's Optimistic Multiversioning Page Manager · IEEE Trans. Software Eng. 1989
Transaction processing and concurrency control
distributed transaction management
0.011984
Distributed Transaction Management in Jasmin · VLDB 1984
Database system architecture and tuning › database machine
multiprocessor database machines
0.011984
Overview of the Jasmin Database Machine · SIGMOD Conference 1984
Information retrieval
query processing
0.011982
Implementation of the Database Machine DIRECT · IEEE Trans. Software Eng. 1982
Data models and query languages
object-oriented data model
0.011990
The Iris Database System · SIGMOD Conference 1990
Transaction processing and concurrency control › concurrency control
optimistic concurrency control
0.011989
On Distributing JASMIN's Optimistic Multiversioning Page Manager · IEEE Trans. Software Eng. 1989

Methods — techniques the papers use, named apart from their topics

program synthesis · 0.4logical-to-physical translation · 0.4graph transformation · 0.4policy controller · 0.2automatic tuning · 0.2allocation algorithms · 0.1process cloning · 0.0message passing · 0.0implementation experience · 0.0architecture design · 0.0performance modeling · 0.0parallel sort-merge · 0.0multiprocessor architecture · 0.0cost analysis · 0.0
YearPublicationVenuePosition
2019 Automated Performance Management for the Big Data Stack
Anastasios Arvanitis, Shivnath Babu, Eric Chu, Alkis Simitsis, Kevin Wilkinson
CIDR6
2017 Janus: Transaction Processing of Navigation and Analytic Graph Queries on Many-core Servers
Hideaki Kimura 0001, Alkis Simitsis, Kevin Wilkinson
CIDR3
2014 Engine independence for logical analytic flows
abstract
A complex analytic flow in a modern enterprise may perform multiple, logically independent, tasks where each task uses a different processing engine. We term these multi-engine flows hybrid flows. Using multiple processing engines has advantages such as rapid deployment, better performance, lower cost, and so on. However, as the number and variety of these engines grows, developing and maintaining hybrid flows is a significant challenge because they are specified at a physical level and, so are hard to design and may break as the infrastructure evolves. We address this problem by enabling flow design at a logical level and automatic translation to physical flows. There are three main challenges. First, we describe how flows can be represented at a logical level, abstracting away details of any underlying processing engine. Second, we show how a physical flow, expressed in a programming language or some design GUI, can be imported and converted to a logical flow. In particular, we show how a hybrid flow comprising subflows in different languages can be imported and composed as a single, logical flow for subsequent manipulation. Third, we describe how a logical flow is translated into one or more physical flows for execution by the processing engines. The paper concludes with experimental results and example transformations that demonstrate the correctness and utility of our system.
Petar Jovanovic 0001, Alkis Simitsis, Kevin Wilkinson
ICDE3
2014 BabbleFlow: a translator for analytic data flow programs
abstract
A complex analytic data flow may perform multiple, inter-dependent tasks where each task uses a different processing engine. Such a multi-engine flow, termed a hybrid flow, may comprise subflows written in more than one programming language. However, as the number and variety of these engines grow, developing and maintaining hybrid flows at the physical level becomes increasingly challenging. To address this problem, we present BabbleFlow, a system for enabling flow design at a logical level and automatic translation to physical flows. BabbleFlow translates a hybrid flow expressed in a number of languages to a semantically equivalent hybrid flow expressed in the same or a different set of languages. To this end, it composes the multiple physical flows of a hybrid flow into a single logical representation expressed in a unified flow language called xLM. In doing so, it enables a number of graph transformations such as (de-)composition and optimization. Then, it converts the, possibly transformed, xLM data flow graph into an executable form by expressing it in one or more target programming languages.
Petar Jovanovic 0001, Alkis Simitsis, Kevin Wilkinson
SIGMOD Conference3
2014 VQA: vertica query analyzer
abstract
Database query monitoring tools collect performance metrics, such as memory and cpu usage, while a query is executing and make them available through log files or system tables. The metrics can be used to understand and diagnose query performance issues. However, analytic queries over big data presents new challenges for query monitoring tools. A long-running query may generate tens of thousands of values so simply reporting the metrics may overwhelm the user. Second, analytic queries may be written by database novices who have trouble interpreting the metrics. Third, analytic queries may access data or processing outside the database through user-defined functions and connectors. The impact of these on query performance must be understood. Vertica Query Analyzer (VQA) is a query monitoring tool to address these challenges. VQA is both a useful tool and a research platform for query analytics. It presents query performance metrics through a variety of views and granularities. In addition, it analyzes the metrics for typical performance problems and suggests corrective actions. We demonstrate VQA using TPC-DS queries which have a wide range of query duration and complexity.
Alkis Simitsis, Kevin Wilkinson, Jason Blais, Joe Walsh
SIGMOD Conference2
2013 HFMS: Managing the lifecycle and complexity of hybrid analytic data flows
abstract
To remain competitive, enterprises are evolving their business intelligence systems to provide dynamic, near realtime views of business activities. To enable this, they deploy complex workflows of analytic data flows that access multiple storage repositories and execution engines and that span the enterprise and even outside the enterprise. We call these multi-engine flows hybrid flows. Designing and optimizing hybrid flows is a challenging task. Managing a workload of hybrid flows is even more challenging since their execution engines are likely under different administrative domains and there is no single point of control. To address these needs, we present a Hybrid Flow Management System (HFMS). It is an independent software layer over a number of independent execution engines and storage repositories. It simplifies the design of analytic data flows and includes optimization and executor modules to produce optimized executable flows that can run across multiple execution engines. HFMS dispatches flows for execution and monitors their progress. To meet service level objectives for a workload, it may dynamically change a flow's execution plan to avoid processing bottlenecks in the computing infrastructure. We present the architecture of HFMS and describe its components. To demonstrate its potential benefit, we describe performance results for running sample batch workloads with and without HFMS. The ability to monitor multiple execution engines and to dynamically adjust plans enables HFMS to provide better service guarantees and better system utilization.
Alkis Simitsis, Kevin Wilkinson, Umeshwar Dayal, Meichun Hsu
ICDE2
2013 xPAD: a platform for analytic data flows
abstract
As enterprises become more automated, real-time, and data-driven, they need to integrate new data sources and specialized processing engines. The traditional business intelligence architecture of Extract-Transform-Load (ETL) flows, followed by querying, reporting, and analytic operations, is being generalized to analytic data flows that utilize a variety of data types and operations. These complicated flows are difficult to design, implement and maintain since they span a variety of systems. Additionally, new design requirements may be imposed such as design for fault-tolerance, freshness, maintainability, sampling, etc. To reduce development time and maintenance costs, automation is needed. We present xPAD, our platform to manage analytic data flows. xPAD enables flow design. We show how these designs can be optimized, not just for performance, but for other objectives as well. xPAD is engine-agnostic. We show how it can generate executable code for a number of execution engines. It can also import existing flows from other engines and optimize those flows. In that way, it can transform a flow written for one engine into an optimized flow for a different engine. In our demonstration, we will also use various example flows to show optimization for different objectives and comparison of flow execution on different engines.
Alkis Simitsis, Kevin Wilkinson, Petar Jovanovic 0001
SIGMOD Conference2
2013 Hybrid Analytic Flows - the Case for Optimization
abstract
To remain competitive, enterprises are evolving in order to quickly respond to changing market conditions and customer needs. In this new environment, a single centralized data warehouse is no longer sufficient. Next generation business intelligence
Alkis Simitsis, Kevin Wilkinson, Umeshwar Dayal
Fundam. Informaticae2
2012 CloudAlloc: a monitoring and reservation system for compute clusters
abstract
Cloud computing has emerged as a promising environment capable of providing flexibility, scalability, elasticity, fail-over mechanisms, high availability, and other important features to applications. Compute clusters are relatively easy to create and use, but tools to effectively share cluster resources are lacking. CloudAlloc addresses this problem and schedules workloads to cluster resources using allocation algorithms that can be easily changed according to the objectives of the enterprise. It also monitors resource utilization and thus, provides accountability for actual usage. CloudAlloc is a lightweight, flexible, easy-to-use tool for cluster resource allocation that has also proved useful as a research platform. We demonstrate its features and also discuss its allocation algorithms that minimize power usage. CloudAlloc was implemented and is in use at HP Labs.
Enrico Iori, Alkis Simitsis, Themis Palpanas, Kevin Wilkinson, Stavros Harizopoulos
SIGMOD Conference4
2012 Optimizing analytic data flows for multiple execution engines
abstract
Next generation business intelligence involves data flows that span different execution engines, contain complex functionality like data/text analytics, machine learning operations, and need to be optimized against various objectives. Creating correct analytic data flows in such an environment is a challenging task and is both labor-intensive and time-consuming. Optimizing these flows is currently an ad-hoc process where the result is largely dependent on the abilities and experience of the flow designer. Our previous work addressed analytic flow optimization for multiple objectives over a single execution engine. This paper focuses on optimizing flows for a single objective, namely performance, over multiple execution engines. We consider flows that span a DBMS, a Map-Reduce engine, and an orchestration engine (e.g., an ETL tool or scripting language). This configuration is emerging as a common paradigm used to combine analysis of unstructured data with analysis of structured data (e.g., NoSQL plus SQL). We present flow transformations that model data shipping, function shipping, and operation decomposition and we describe how flow graphs are generated for multiple engines. Performance results for various configurations demonstrate the benefit of optimization.
Alkis Simitsis, Kevin Wilkinson, Malú Castellanos, Umeshwar Dayal
SIGMOD Conference2
2012 Optimizing Flows for Real Time Operations Management
Alkis Simitsis, Chetan Gupta 0001, Kevin Wilkinson, Umeshwar Dayal
SSDBM3
2011 Designing integration flows using hypercubes
abstract
The design and implementation of an ETL (extract-transform-load) process for a data warehouse proceeds from a conceptual model to a logical model, and then a physical model and implementation. The conceptual model conveys at a high level the data sources and targets, and the transformation steps from sources to targets. The current state of the art is to express the conceptual model informally using text descriptions and diagrams. This makes the process of deriving a logical model time-consuming and error-prone. Our work is towards a system that covers the whole ETL lifecycle by injecting several layers of optimization and validation throughout the whole process starting with the business level objectives and ending with flow execution. In this paper, we focus on the ETL conceptual layer and present a solution that assists consultants in their task of defining the needs and requirements at the early stages of an integration project. We present a conceptual model for ETL based on hypercubes and hypercube operations. This is a formal model that captures the semantics of ETL at a high-level but that can also be machine-translated into a logical model for ETL. The use of hypercubes at the conceptual level renders a design that can be easily understood by business users and so reduces design and development time and produces a result that accurately captures service level agreements and business requirements.
Kevin Wilkinson, Alkis Simitsis
EDBT1
2011 Modeling the Performance of the Hadoop Online Prototype
abstract
MapReduce is an important paradigm to support modern data-intensive applications. In this paper we address the challenge of modeling performance of one implementation of MapReduce called Hadoop Online Prototype (HOP), with a specific target on the intra-job pipeline parallelism. We use a hierarchical model that combines a precedence model and a queuing network model to capture the intra-job synchronization constraints. We first show how to build a precedence graph that represents the dependencies among multiple tasks of the same job. We then apply it jointly with an approximate Mean Value Analysis (aMVA) solution to predict mean job response time and resource utilization. We validate our solution against a queuing network simulator in various scenarios, finding that our performance model presents a close agreement, with maximum relative difference under 15%.
Emanuel Vianna, Giovanni Comarela, Tatiana Pontes, Jussara M. Almeida, Virgílio A. F. Almeida, Kevin Wilkinson, Harumi A. Kuno, Umeshwar Dayal
SBAC-PAD6
2010 Leveraging Business Process Models for ETL Design
Kevin Wilkinson, Alkis Simitsis, Malú Castellanos, Umeshwar Dayal
ER1
2010 Optimizing ETL workflows for fault-tolerance
abstract
Extract-Transform-Load (ETL) processes play an important role in data warehousing. Typically, design work on ETL has focused on performance as the sole metric to make sure that the ETL process finishes within an allocated time window. However, other quality metrics are also important and need to be considered during ETL design. In this paper, we address ETL design for performance plus fault-tolerance and freshness. There are many reasons why an ETL process can fail and a good design needs to guarantee that it can be recovered within the ETL time window. How to make ETL robust to failures is not trivial. There are different strategies that can be used and they each have different costs and benefits. In addition, other metrics can affect the choice of a strategy; e.g., higher freshness reduces the time window for recovery. The design space is too large for informal, ad-hoc approaches. In this paper, we describe our QoX optimizer that considers multiple design strategies and finds an ETL design that satisfies multiple objectives. In particular, we define the optimizer search space, cost functions, and search algorithms. Also, we illustrate its use through several experiments and we show that it produces designs that are very near optimal.
Alkis Simitsis, Kevin Wilkinson, Umeshwar Dayal, Malú Castellanos
ICDE2
2009 Automating the loading of business process data warehouses
abstract
Business processes drive the operations of an enterprise. In the past, the focus was primarily on business process design, modeling, and automation. Recently, enterprises have realized that they can benefit tremendously from analyzing the behavior of their business processes with the objective of optimizing or improving them. In our research, we address the problem of warehousing business process execution data so that we can analyze their behavior using the analytic and reporting tools that are available in data warehouse environments. We build upon our previous work that described the design and implementation of a generic process data warehouse for use with any business processes. In this paper, we show how to automate the population of the generic process warehouse by tracking business events from an application environment. Typically, the source data consists of event streams that
Malú Castellanos, Alkis Simitsis, Kevin Wilkinson, Umeshwar Dayal
EDBT3
2009 Data integration flows for business intelligence
abstract
Business Intelligence (BI) refers to technologies, tools, and practices for collecting, integrating, analyzing, and presenting large volumes of information to enable better decision making. Today's BI architecture typically consists of a data warehouse (or one or more data marts), which consolidates data from several operational databases, and serves a variety of front-end querying, reporting, and analytic tools. The back-end of the architecture is a data integration pipeline for populating the data warehouse by extracting data from distributed and usually heterogeneous operational sources; cleansing, integrating and transforming the data; and loading it into the data warehouse. Since BI systems have been used primarily for off-line, strategic decision making, the traditional data integration pipeline is a oneway, batch process, usually implemented by extract-transform-load (ETL) tools. The design and implementation of the ETL pipeline is largely a labor-intensive activity, and typically consumes a large fraction of the effort in data warehousing projects. Increasingly, as enterprises become more automated, data-driven, and real-time, the BI architecture is evolving to support operational decision making. This imposes additional requirements and tradeoffs, resulting in even more complexity in the design of data integration flows. These include reducing the latency so that near real-time data can be delivered to the data warehouse, extracting information from a wider variety of data sources, extending the rigidly serial ETL pipeline to more general data flows, and considering alternative physical implementations. We describe the requirements for data integration flows in this next generation of operational BI system, the limitations of current technologies, the research challenges in meeting these requirements, and a framework for addressing these challenges. The goal is to facilitate the design and implementation of optimal flows to meet business requirements.
Umeshwar Dayal, Malú Castellanos, Alkis Simitsis, Kevin Wilkinson
EDBT4
2009 Managing long-running queries
abstract
Business Intelligence query workloads that run against very large data warehouses contain queries whose execution times range, sometimes unpredictably, from seconds to hours. The presence of even a handful of long-running queries can significantly slow down a workload consisting of thousands of queries, creating havoc for queries that require a quick response. Long-running queries are a known problem in all commercial database products. However, we have not seen a thorough classification of long-running queries nor a systematic study of the most effective corrective actions.
Stefan Krompass, Harumi A. Kuno, Janet L. Wiener, Kevin Wilkinson, Umeshwar Dayal, Alfons Kemper
EDBT4
2009 QoX-driven ETL design: reducing the cost of ETL consulting engagements
abstract
As business intelligence becomes increasingly essential for organizations and as it evolves from strategic to operational, the complexity of Extract-Transform-Load (ETL) processes grows. In consequence, ETL engagements have become very time consuming, labor intensive, and costly. At the same time, additional requirements besides functionality and performance need to be considered in the design of ETL processes. In particular, the design quality needs to be determined by an intricate combination of different metrics like reliability, maintenance, scalability, and others. Unfortunately, there are no methodologies, modeling languages or tools to support ETL design in a systematic, formal way for achieving these quality requirements. The current practice handles them with ad-hoc approaches only based on designers' experience. This results in either poor designs that do not meet the quality objectives or costly engagements that require several iterations to meet them. A fundamental shift that uses automation in the ETL design task is the only way to reduce the cost of these engagements while obtaining optimal designs. Towards this goal, we present a novel approach to ETL design that incorporates a suite of quality metrics, termed QoX, at all stages of the design process. We discuss the challenges and tradeoffs among QoX metrics and illustrate their impact on alternative designs.
Alkis Simitsis, Kevin Wilkinson, Malú Castellanos, Umeshwar Dayal
SIGMOD Conference2
2009 A Testbed for Managing Dynamic Mixed Workloads
abstract
Workload management for operational business intelligence (BI) databases is difficult. Queries vary widely in length and objectives. Resource contention is difficult to predict and to control as dynamically-arriving, long, analyst queries compete for resources with ongoing online-transaction processing (OLTP) queries and batch report queries. Currently, administrators struggle to choose workload management policies and set their thresholds manually. The goal of our project is a software framework to make the management of such mixed workloads easier. Our framework includes a policy controller that tunes workload management policies automatically to meet workload objectives. This demonstration of our system illustrates (1) the difficulty of managing a BI database workload and (2) the benefits of tuning policies automatically and individually for each service class of queries in a workload. In addition, our demonstrator is a useful research tool for understanding how policies and a policy controller adapt as the system state changes under a mixed workload. In our demo, the participant plays the administrator and tunes the policies for a variety of difficult-to-manage workloads as they execute. These policies include admission control, scheduling, and execution control policies. We visualize the policies, the user objectives, and the load on the system components (CPUs, memory, disks) during execution, which helps the participant see whether objectives are being met and make appropriate policy decisions. At the end of each workload, the participant is given the opportunity to compare how their policies met workload objectives versus policies determined by our automatic policy controller.
Stefan Krompass, Harumi A. Kuno, Janet L. Wiener, Kevin Wilkinson, Umeshwar Dayal, Alfons Kemper
Proc. VLDB Endow.4
2006 Enabling Outsourced Service Providers to Think Globally While Acting Locally
Kevin Wilkinson, Harumi A. Kuno, Kannan Govindarajan, Kei Yuasa, Kevin Smathers, Jyotirmaya Nanda, Umeshwar Dayal
EDBT1
1990 The Iris Kernel Architecture
Peter Lyngbæk, Kevin Wilkinson, Waqar Hasan
EDBT2
1990 The Iris Database System
abstract
Iris is an object-oriented database management system being developed at Hewlett-Packard Laboratories [1], [3]. This videotape provides an overview of the Iris data model and a summary of our experiences in converting a computer-integrated manufacturing application to Iris. An abstract of the videotape follows.
William Kent, Peter Lyngbæk, Samir Mathur, Kevin Wilkinson
SIGMOD Conference4
1990 Maintaining Consistency of Client-Cached Data
Kevin Wilkinson, Marie-Anne Neimat
VLDB1
1990 The Iris Architecture and Implementation
abstract
The goals of the Iris database management system are to enhance database programmer productivity and to provide generalized database support for the integration of future applications. Iris is based on an object and function model. Iris objects are typed but unlike other object systems, they contain no state. Attribute values, relationships and behavior of objects are modeled by functions. The Iris architecture efficiently supports the evaluation of functional expressions. The goal of the architecture is to provide a database system that is powerful enough to support the definition of functions and procedures that implement the semantics of the data model. An overview of the data model is provided, the architecture is described in detail, and implementation experience and usage of the system are discussed.>
Kevin Wilkinson, Peter Lyngbæk, Waqar Hasan
IEEE Trans. Knowl. Data Eng.1
1989 On Distributing JASMIN's Optimistic Multiversioning Page Manager
abstract
JASMIN is a functionally distributed database system running on multiple microcomputers that communicate with each other by message passing. The software modules in JASMIN can be cloned and distributed across computer boundaries. One important module is the intelligent store, a page manager that includes transaction-management facilities. It provides an optimistic, multiversioning concurrency control scheme. This scheme allows read-only transactions to run almost without conflict checking; this is important in some real-time database applications like telephone switching and routing services. The initial implementation of the intelligent store deals with centralized database only. Experiences in modifying the JASMIN intelligent store module to handle distributed databases are described. Design principles and system implementation techniques in the following areas are explored; process structure, data structures and synchronization on data structures. The process structure is aimed to provide high throughput and the data structures are designed to facilitate fast response time.>
Ming-Yee Lai, Kevin Wilkinson, Vladimir Lanin
IEEE Trans. Software Eng.2
1988 Sorting Large Files on a Backend Multiprocessor
abstract
The authors investigate the feasibility and efficiency of a parallel sort-merge algorithm by considering its implementation of the JASMIN prototype, a backend multiprocessor built around a fast packet bus. They describe the design and implementation of a parallel sort utility and present and analyze the results of measurements corresponding to a range of file sizes and processor configurations. The results show that using current, off-the-shelf technology coupled with a streamlined distributed operating system, three- and five-microprocessor configurations, provide a very cost-effective sort of large files. The three-processor configuration sorts a 100-Mb file in 1 hr which compares well to commercial sort packages available on high-performance mainframes. In additional experiments, the authors investigate a model to tune their sort software and scale their results to higher processor and network capabilities.>
Micah D. Beck, Dina Bitton, Kevin Wilkinson
IEEE Trans. Computers3
1987 Reliable Servers in the JASMIN Distributed System
Prem Uppaluru, Kevin Wilkinson
ICDCS2
1986 Design and Evaluation of a Parallel Sort Utility
Micah D. Beck, Dina Bitton, Kevin Wilkinson
ICPP3
1984 Overview of the Jasmin Database Machine
abstract
The Jasmin database machine is being implemented as part of a research project in distributed processing and database management A primary goal of the work is to demonstrate the feasibility of a practical multiprocessor database machine suitable for large database, high transaction-rate applications Key features of Jasmin are its configurable performance, its use of off-the-shelf parts, and its ability to handle distributed databases A uniprocessor prototype of Jasmin has already been completed and the multiprocessor version is planned for later this year In this paper we describe Jasmin's architecture and discuss the performance observed in the uniprocessor prototype
Daniel H. Fishman, Ming-Yee Lai, Kevin Wilkinson
SIGMOD Conference3
1984 Distributed Transaction Management in Jasmin
Ming-Yee Lai, Kevin Wilkinson
VLDB2
1983 Parallel Algorithms for the Execution of Relational Database Operations
abstract
This paper presents and analyzes algorithms for parallel processing of relational database operations in a general multiprocessor framework. To analyze alternative algorithms, we introduce an analysis methodology which incorporates I/O, CPU, and message costs and which can be adjusted to fit different multiprocessor architectures. Algorithms are presented and analyzed for sorting, projection, and join operations. While some of these algorithms have been presented and analyzed previously, we have generalized each in order to handle the case where the number of pages is significantly larger than the number of processors. In addition, we present and analyze algorithms for the parallel execution of update and aggregate operations.
Dina Bitton, Haran Boral, David J. DeWitt, Kevin Wilkinson
ACM Trans. Database Syst.4
1982 Performance evaluation of four assiciative disk designs
Haran Boral, David J. DeWitt, Kevin Wilkinson
Inf. Syst.3
1982 Implementation of the Database Machine DIRECT
abstract
DIRECT is a multiprocessor database machine designed and implemented at the University of Wisconsin. This paper describes our experiences with the implementation of DIRECT. We start with a brief overview of the original machine proposal and how it differs from what was actually implemented. We then describe the structure of the DIRECT software. This includes software on host computers that interfaces with the database machine; software on the back-end controller of DIRECT; and software executed by the query processors. In addition to describing the structure of the software we will attempt to motivate and justify its design and implementation. We also discuss a number of implementation issues (e.g., debugging of the code across several machines). We conclude the paper with a list of the "lessons" we have learned from this experience.
Haran Boral, David J. DeWitt, Dina Friedland, Nancy F. Jarrell, Kevin Wilkinson
IEEE Trans. Software Eng.5