Tim Brecht's research while affiliated with University of Waterloo and other places

Publications (77)

Conference Paper
For problems requiring cooperation, many multiagent systems implement solutions among either individual agents or across an entire population towards a common goal. Multiagent teams are primarily studied when in conflict; however, organizational psychology (OP) highlights the benefits of teams among human populations for learning how to coordinate...
Conference Paper
Full-text available
The implementation of a puck and player tracking (PPT) system in the National Hockey League (NHL) provides significant opportunities to utilize high-resolution spatial and temporal data for advanced hockey analytics. In this paper, we develop a technique to classify pass types in the tracking data as either Direct, 1-bank, or Rim passes. We also ad...
Preprint
Full-text available
For problems requiring cooperation, many multiagent systems implement solutions among either individual agents or across an entire population towards a common goal. Multiagent teams are primarily studied when in conflict; however, organizational psychology (OP) highlights the benefits of teams among human populations for learning how to coordinate...
Preprint
Full-text available
We propose a model for multi-objective optimization, a credo, for agents in a system that are configured into multiple groups (i.e., teams). Our model of credo regulates how agents optimize their behavior for the component groups they belong to. We evaluate credo in the context of challenging social dilemmas with reinforcement learning agents. Our...
Article
MAC-layer frame aggregation has significantly improved the efficiency of IEEE 802.11n and 802.11ac networks by placing multiple MAC-layer data units in a large PHY-layer frame. In this paper, we focus on finding the optimal length of an Aggregated MAC Protocol Data Unit (A-MPDU) in order to maximize throughput. In theory, larger A-MPDUs amortize ov...
Conference Paper
Full-text available
Advancements in player tracking technology and analytics have revolutionized how professional sports are managed, played, and even consumed. However, these tracking systems have mainly failed to translate to ice rinks, leaving ice hockey to collect relatively coarse and offensively-biased data for player statistics. As a result, current artificial...
Conference Paper
Full-text available
Latencies, operating ranges, and false positive rates for existing indoor fire detection systems like smoke detectors and sprinkler systems are far from ideal. This paper explores the use of wireless radio frequency (RF) signals to detect indoor fires with low latency, through walls and other occlusions. We build on past research fo-cused on wirele...
Conference Paper
Despite the ubiquity of WiFi devices, Bluetooth is widely used for communication in low-power, low data-rate devices. This is because Bluetooth consumes much less power than WiFi which results in longer battery life. The higher power consumption of WiFi devices is due to overheads from either establishing or maintaining connections with the access...
Conference Paper
Live streaming video accounts for major portions of modern Internet traffic. Services like Twitch and YouTube Live rely on the high-speed distribution of live streaming video content to vast numbers of viewers. For popular content the data is disseminated (replicated) to multiple servers in data centres (or IXPs) for scalable, encrypted delivery to...
Conference Paper
WiFi-based backscatter systems provide the potential to deliver battery-free sensors (tags) which can transmit data using a WiFi network. Existing backscatter systems have several problems which make them impractical to deploy and operate using existing WiFi networks. First, they require software or hardware modifications to WiFi access points and...
Conference Paper
The IEEE 802.11 standard has become the dominant protocol for Wireless Local Area Networks (WLANs). In a span of 20 years, the speed of these networks has increased from 1 Mbps to more than 1 Gbps. Today's Wi-Fi networks may consist of a variety of client devices, ranging from slow legacy 802.11a/b/g to modern and fast 802.11n/ac devices. We descri...
Article
Full-text available
In only a decade, cloud computing has emerged from a pursuit for a service-driven information and communication technology (ICT), becoming a significant fraction of the ICT market. Responding to the growth of the market, many alternative cloud services and their underlying systems are currently vying for the attention of cloud users and providers....
Article
Networked sensors and actuators are increasingly permeating our computing devices, and provide a variety of functions for Internet of Things (IoT) devices and applications. However, this sensor data can also be used by applications to extract private information about users. Applications and users are thus in a tussle over access to private data. T...
Conference Paper
The trend towards global applications and services has created an increasing demand for transaction processing on globally-distributed data. Many database systems, such as Spanner and CockroachDB, support distributed transactions but require a large number of wide-area network roundtrips to commit each transaction and ensure the transaction's state...
Article
Most video streaming traffic is delivered over HTTP using standard web servers. While traditional web server workloads consist of requests that are primarily for small files that can be serviced from the file system cache, HTTP video streaming workloads often service a long tail of large infrequently requested videos. As a result, optimizing disk a...
Article
In this paper, we describe the design, implementation and evaluation of a new framework for the trace-based evaluation of 802.11n networks, which we call T-SIMn. In order to accurately estimate the fate of frames that could have been sent at any rate, traces collected for use in trace-based simulators, like T-SIMn, require a sufficiently large numb...
Article
Key-value storage systems are an integral part of many data centre applications, but as demand increases so does the need for high performance. This has motivated new designs that use Remote Direct Memory Access (RDMA) to reduce communication overhead. Current RDMA-enabled key-value stores (RKVSes) target workloads involving small values, running o...
Conference Paper
Video streaming applications generate a large fraction of Internet traffic. Much of this content is delivered over HTTP using standard web servers. Unlike other types of web workloads, HTTP video streaming workloads are typically disk bound, and therefore an important problem is that of optimizing disk access. In this paper we design, implement and...
Conference Paper
Previous work has shown that benchmark and application performance in public cloud computing environments can be highly variable. Utilizing Amazon EC2 traces that include measurements affected by CPU, memory, disk, and network performance, we study commonly used methodologies for comparing performance measurements in cloud computing environments. T...
Conference Paper
Geographically broad, application-aware studies of large subscriber networks are rarely undertaken because of the challenges of accessing secured network premises, protecting subscriber privacy, and deploying scalable measurement devices. We present a study examining bandwidth consumption and the rate at which new flows are created in 45 cable, DSL...
Conference Paper
In this paper, we describe the design, implementation and evaluation of a new framework for the trace-based evaluation of 802.11n networks, which we call T-SIMn. We first develop novel techniques for collecting and processing traces for 802.11n networks that incorporate Frame Aggregation (FA). We then demonstrate that the simulator portion of our f...
Conference Paper
To increase throughput the 802.11n standard introduced several physical layer transmission features including a short guard interval wider channels, and MIMO. Since obtaining peak throughput depends on choosing the combination of physical layer features (configuration) best suited for the channel conditions, the large number of configurations great...
Article
An unsound claim can misdirect a field, encouraging the pursuit of unworthy ideas and the abandonment of promising ideas. An inadequate description of a claim can make it difficult to reason about the claim, for example, to determine whether the claim is sound. Many practitioners will acknowledge the threat of unsound claims or inadequate descripti...
Article
Typical VM consolidation approaches re-pack VMs into fewer physical machines, resulting in energy and cost savings [13, 19, 23, 40]. Recent work has explored a just-in time approach to VM consolidation by transitioning VMsto an inactive state when idle and activating them on the arrival of client requests[17, 21]. This leads to increased VM density...
Article
A commonly used technique for evaluating and comparing the performance of systems using 802.11 (WiFi) networks is to conduct experiments. This approach is appealing and important because it inherently captures critical properties of wireless signal transmission that are difficult to analytically model and simulate. Unfortunately, obtaining consiste...
Article
Past work has shown that disk prefetching can be an effective technique for improving the performance of disk bound workloads. However, the performance gains are highly dependent on selecting a prefetch size that is appropriate for a specific system and workload. Using a prefetch size that is too small can lead to poor overall disk throughput, wher...
Article
The number of publicly accessible virtual execution environments (VEEs) has been growing steadily in the past few years. To be accessible by clients, such VEEs need either a public IPv4 or a public IPv6 address. However, the pool of available public IPv4 addresses is nearly depleted and the low rate of adoption of IPv6 precludes its use. Therefore,...
Article
Linux and other open-source Unix variants (and their distributors) provide researchers with full-fledged operating systems that are widely used. However, due to their complexity and rapid development, care should be exercised when using these operating systems for performance experiments, especially in systems research. In particular, the size and...
Conference Paper
Full-text available
With the advent of utility-owned smart meters and smart appliances, the amount of data generated and collected about consumer energy consumption has rapidly increased. Energy usage data is of immense practical use for consumers for audits, analytics, and automation. Currently, utility companies collect, use, share, and discard usage data at their d...
Conference Paper
Large amounts of Internet streaming video traffic are being delivered using HTTP to leverage the existing web infrastructure. A fundamental issue in HTTP streaming concerns the granularity of video objects used throughout the HTTP ecosystem (including clients, proxy caches, CDN nodes, and servers). A video may be divided into many files (called chu...
Article
Recent increases in live and on-demand video streaming have dramatically changed the Internet landscape. In North America, Netflix alone accounts for 28% of all and 33% of peak downstream Internet traffic on fixed access links, with further rapid growth expected [26]. This increase in streaming traffic coincides with the steady adoption of HTTP for...
Article
In this paper, we study how web-server architecture and implementation affect performance when trying to obtain high throughput on a 4-core system servicing static content. We focus on static content as a growing numbers of servers are dedicated to workloads comprised of songs, photos, software, and videos chunked for HTTP downloads. Two representa...
Article
Linux provides researchers with a full-fledged operating system that is widely used and open source. However, due to its complexity and rapid development, care should be exercised when using Linux for performance experiments, especially in systems research. The size and continual evolution of the Linux code-base makes it difficult to understand, an...
Conference Paper
In three-tiered web applications, some form of admission control is required to ensure that throughput and response times are not significantly harmed during periods of heavy load. We propose Q-Cop, a prototype system for improving admission control decisions that considers a combination of the load on the system, the number of simultaneous queries...
Article
Full-text available
Testing remains an important aspect of checking software correctness. Manually constructed test suites are one option: they typically complete quickly, but they require human involvement in producing test cases, and their coverage may be limited. Recently, symbolic execution and concolic execution have been investigated as alternatives to test suit...
Article
Babylon is a collection of tools and services that provide a 100% Java-compatible environment for developing, running and managing parallel, distributed and mobile Java applications. It incorporates features such as object migration, asynchronous method invocation, and remote class loading, while providing an easy-to-use interface. Additionally, Ba...
Conference Paper
Kernel-based group unicast has been suggested as an efficient mechanism for transmitting the same data to multiple recipients. In this paper, we present a new system call, sendgroup(), which also supports per-recipient private data, but only uses a single inkernel copy of the shared data. We assess the performance of the new system call using micro...
Conference Paper
In this paper, we extensively tune and then compare the performance of web servers based on three different server architectures. The μserver utilizes an event-driven architecture, Knot uses the highly-efficient Capriccio thread library to implement a thread-per-connection model, and WatPipe uses a hybrid of events and threads to implement a pipeli...
Conference Paper
Full-text available
We consider the problem of providing vehicular Internet ac- cess using roadside 802.11 access points. We build on pre- vious work in this area (18, 8, 5, 11) with an extensive ex- perimental analysis of protocol operation at a level of detail not previously explored. We report on data gathered with four capture devices from nearly 50 experimental r...
Article
This paper investigates TCP connection management mechanisms in order to understand the behaviour and improve the performance of Internet servers during overload conditions such as flash crowds. We study several alternatives for implementing TCP connection establishment, reviewing approaches taken by existing TCP stacks as well as proposing new mec...
Conference Paper
Full-text available
Applications requiring high-speed TCP/IP processing can easily saturate a modern server. We and others have previously suggested alleviating this problem in multiprocessor environments by dedicating a subset of the processors to perform network packet processing. The remaining processors perform only application computation, thus eliminating conten...
Article
When a roadside 802.11-based wireless access point is shared by more than one vehicle, the vehicle with the lowest trans-mission rate reduces the effective transmission rate of all other vehicles. This performance anomaly [9] degrades both individual and overall throughput in such multi-vehicular environments. Observing that every vehicle eventuall...
Article
Full-text available
In systems that support garbage collection, a tension exists between collecting garbage too frequently and not collecting garbage frequently enough. Garbage collection that occurs too frequently may introduce unnecessary overheads at the rist of not collecting much garbage during each cycle. On the other hand, collecting garbage too infrequently ca...
Conference Paper
In recent years, applications that provide a distributed virtual environment (DVE) have become increasingly pop- ular. Many DVE implementations use a client-server archi- tecture that requires the server to send the same data to all members of a collaborating or interacting group. This type of group communication operation is often implemented by s...
Article
Babylon v2.0 is a collection of tools and services that provide a 100% Java compatible environment for developing, running and managing parallel, distributed and mobile Java applications. It incorporates features like object migration, asynchronous method invocation and remote class loading while providing an easy-to-use interface. The implementati...
Conference Paper
Babylon v2.0 is a collection of tools and services that provide a 100% Java compatible environment for developing, running and managing parallel, distributed and mobile Java applications. It incorporates features like object migration, asynchronous method invocation and remote class loading while providing an easy-to-use interface. Additionally, Ba...
Conference Paper
A common requirement of many Internet services is to send exactly the same data to a number of hosts at the same time. Without IP-level multicast, this form of group communication is realized by unicasting the data to each desired host. Although this approach is portable and easy to implement, it is extremely inefficient for the sending host. In th...
Article
In systems that support garbage collection, a tension exists between collecting garbage too frequently and not collecting garbage frequently enough. Garbage collection that occurs too frequently may introduce unnecessary overheads at the risk of not collecting much garbage during each cycle. On the other hand, collecting garbage too infrequently ca...
Article
The rapid proliferation of the World-Wide Web has been due to the seamless access it provides to information that is distributed both within organizations and around the world. In this paper, we describe the design and implementation of a system, called Ajents, which provides the software infrastructure necessary to support a similar level of seaml...
Article
We propose a technology strategy for enabling applications to scale to next-generation levels of I/O scalability and communication performance on industry standard platforms. The strategy combines efficient packet processing and scalable I/O concurrency, potentially enabling Ethernet and TCP to approach the latency and throughput performance offere...
Article
This paper evaluates techniques for improving the performance of three architecturally different web servers. We study strategies for effectively accepting incoming connections under conditions of high load. Our experimental evaluation shows that the method used to accept new connection requests can significantly impact server performance. By modif...
Article
Writing programs for parallel and distributed computing environments can be signi cantly more complex than writing programs for their sequential counterparts. These complexities mainly arise from the additional synchronization and communication requirements imposed by such environments.
Article
We propose a technology strategy for enabling applications to scale to next-generation levels of I/O scalability and communication performance on industry standard platforms. The strategy combines efficient packet processing and scalable I/O concurrency, potentially enabling Ethernet and TCP to approach the latency and throughput performance offere...
Article
This paper uses a high-performance, event- driven, HTTP server (the µserver) to compare the performance of the select, poll, and epoll event mechanisms. We subject the µserver to a variety of workloads that allow us to expose the relative strengths and weaknesses of each event mechanism. Interestingly, initial results show that the se- lect and pol...
Conference Paper
Full-text available
There has been much debate over the past few years about the practice of moving traditional user-space applications, such as web servers, into the kernel for better performance. Recently, the user-space server web server has shown promising perfor- mance for delivering static content. In this paper we first describe how we augmented the server to e...
Article
this paper is largely motivated by this recent work by Chandra and Mosberger [6]. We believe that their work demonstrates that even simple server designs exhibit a wide range of variation in performance that is not well understood. In this paper we attempt to characterize the behaviour of some of these design options and use these results to gain i...
Chapter
Full-text available
Writing programs for parallel and distributed computing environments can be significantly more complex than writing programs for their sequential counterparts. These complexities mainly arise from the additional synchronization and communication requirements imposed by such environments. These requirements also make debugging and maintaining such p...
Article
In systems that support garbage collection, a tension exists between collecting garbage too fre-quently and not collecting it frequently enough. Garbage collection that occurs too frequently may introduce unnecessary overheads at the risk of not collecting much garbage during each cycle. On the other hand, collecting garbage too infrequently can re...
Article
Full-text available
In this work theoretically proves that Equi-partition efficiently schedules multiprocessor batch jobs with different execution characteristics. Motwani et al. show that the mean response time of jobs is within two of optimal for fully parallelizable jobs. We extend this result by considering jobs with multiple phases of arbitrary nondecreasing and...
Article
. We study the problem of processor scheduling for n parallel jobs applying the method of competitive analysis. We prove that for jobs with a single phase of parallelism, a preemptive scheduling algorithm without information about job execution time can achieve a mean completion time within 2 - 2 n+1 times the optimum. In other words, we prove a co...
Conference Paper
This paper introduces time-lined TCP (TLTCP). TLTCP is a protocol designed to provide TCP-friendly delivery of time-sensitive data to applications that are loss-tolerant, such as streaming media players. Previous work on unicast delivery, of streaming media over the Internet proposes using UDP and performs congestion control at the user level by re...
Article
User-level virtual memory (VM) primitives are used in many different application domains including distributed shared memory, persistent objects, garbage collection, and checkpointing. Unfortunately, VM primitives only allow traps to be handled at the granularity of fixedsized pages defined by the operating system and architecture. In many cases, t...
Article
We study the problem of processor scheduling for parallel jobs. We prove that, for jobs with a single phase of parallelism, an algorithm can achieve a mean response time within 2 Gamma 2 n+1 times the optimum. This is extended to jobs with multiple phases of parallelism and to interactive jobs (with phases during which the job has no CPU requiremen...
Conference Paper
In this paper we describe the design, implementation and experimental evaluation of a technique for operating system schedulers called processor pool-based scheduling [51]. Our technique is designed to assign processes (or kernel threads) of parallel applications to processors in multiprogrammed, shared-memory NUMA multiprocessors. The results of t...
Article
Full-text available
We study dynamic multiprocessor allocation policies for parallel jobs, which allow the preemption and reallocation of processors to take place at any time. The objective is to minimize the completion time of the last job to finish executing (the makespan). We characterize a parallel job using two parameters. The job's parallelism, Pi, which is the...
Conference Paper
Full-text available
A multiprocessor system is unlikely to have access to information about the execution characteristics of the jobs it is to schedule. In this work, we are interested in scheduling algorithms for batch jobs that require no such knowledge (such algorithms are called nonclairvoyant). Preemptive scheduling (i.e., redistribution of processors) is importa...
Article
Several previous studies have examined techniques for improving Internet server performance by investigating and improving operating system support for event-dispatching mechanisms. These studies have been largely motivated by the commonly held belief that the overhead incurred in ob-taining network I/O events was the main factor limiting In-ternet...
Article
We propose a technology strategy for en- abling applications to scale to next-generation levels of I/O scalability and communication performance on indus- try standard platforms. The strategy combines efficient packet processing and scalable I/O concurrency, potentially enabling Ethernet and TCP to approach the latency and throughput performance of...
Article
In this paper I argue that in addition to supporting multiple cores, future microprocessor designs should decouple cores from caches and TLBs and support multiple, run-time se-lectable hardware memory contexts per core. Multiple mem-ory contexts would allow the operating system and other threads to run without polluting each others' cache and TLB c...

Citations

... Based on such model, the authors implemented the Practical, Near-Optimal Frame Aggregation algorithm (PNOFA). Achieved performance results demonstrate that across a variety of devices and scenarios, PNOFA outperforms existing state-of-the-art algorithms [2]. ...
... To address the challenges of WS, backscatter communication (BackCom) employs the reflection of wireless signals by tags attached to sensing devices to achieve continuous and battery-free sensing and communication. Even though the BackCom still has some limitations (Dehbashi et al., 2021;Elsayed et al., 2021), it shows much promise. Hence, BackCom-based wireless sensing (BBWS) will have a crucial role to play in the next generation of wireless sensing applications (Ha et al., 2020;Duan et al., 2020;Talla et al., 2017b). ...
... The MCS level can also be predicted through an ANN [78]. The model is trained in a client device by receiving packets from an AP using all available rates within a 1 s time window. ...
... On other hand, larger AGG_SIZE could lead to loss of subframes and lead to many retransmissions in case channel conditions are poor. In order to address aforementioned issues, in existing works [11][12][13] authors proposed mobility and channel aware optimal AGG_SIZEs for A-MPDU and/or A-MSDU. In other works [14][15][16], authors have proposed to decide optimal AGG_SIZE based on Quality of Service (QoS) requirements of traffic. ...
... (3) Other approaches: Abedi et al. propose WiTAG [73,74], which leverages MAC-layer features to enable communication between backscatter tags and Wi-Fi devices. Specifically, the IEEE 802.11n/ac standards support a MAC-layer frame aggregation mechanism to reduce communication overhead. ...
... Furthermore, this work only targets traditional datacenter applications, with no support for the peculiarities of edge nodes. RocketBufs [8] adopts a similar approach but specifically focuses on the proposal of a programming abstraction: it suggests a set of basic mechanisms to easily implement common data distribution patterns, including data streaming. Yet, also RocketBufs targets datacenter applications and does not consider heterogeneous flows with differentiated quality requirements in the same application. ...
... Once the connection between the acquisition system and PyEpiBOX is established, data is exchanged through Bluetooth wireless data transmission. This communication protocol is a common practice for low-power, low data-rate devices (Abedi et al., 2019), seen in IoT-based devices such as BITalino, Arduino and MySignals 6 . Through a Python API (specific to the acquisition system in use), PyEpiBOX reads the data samples that were received via Bluetooth. ...
... (3) Other approaches: Abedi et al. propose WiTAG [73,74], which leverages MAC-layer features to enable communication between backscatter tags and Wi-Fi devices. Specifically, the IEEE 802.11n/ac standards support a MAC-layer frame aggregation mechanism to reduce communication overhead. ...
... The performance assessment of an IaaS cloud, some performance metrics are derived using a taxonomy model. The performance analysis of the IaaS cloud involved CPU, memory [11], and response tim