Realtime GPU Audio

Finite difference-based sound synthesis using graphics processors

BILL HSU AND MARC SOSNICK-PÉREZ, DEPARTMENT OF COMPUTER SCIENCE, SAN FRANCISCO STATE UNIVERSITY

Today’s CPUs are capable of supporting realtime audio for many popular applications, but some compute-intensive audio applications require hardware acceleration. This article looks at some realtime sound-synthesis applications and shares the authors’ experiences implementing them on GPUs (graphics processing units).

Realtime GPU Audio

 

Related:

GPUs: A Closer Look

Computing without Processors

Realtime Computer Vision with OpenCV

 

There’s Just No Getting around It: You’re Building a Distributed System

Building a distributed system requires a methodical approach to requirements.

MARK CAVAGE

Distributed systems are difficult to understand, design, build, and operate. They introduce exponentially more variables into a design than a single machine does, making the root cause of an application problem much harder to discover. It should be said that if an application does not have meaningful SLAs (service-level agreements) and can tolerate extended downtime and/or performance degradation, then the barrier to entry is greatly reduced. Most modern applications, however, have an expectation of resiliency from their users, and SLAs are typically measured by “the number of nines” (e.g., 99.9 or 99.99 percent availability per month). Each additional 9 becomes harder and harder to achieve.

There’s Just No Getting around It: You’re Building a Distributed System

 

Related:

Distributed Computing Economics

Condos and Clouds

Monitoring and Control of Large Systems with MonALISA

A File System All Its Own

Flash memory has come a long way. Now it’s time for software to catch up.

ADAM H. LEVENTHAL

In the past five years, flash memory has progressed from a promising accelerator, whose place in the data center was still uncertain, to an established enterprise component for storing performance-critical data. It’s rise to prominence followed its proliferation in the consumer world and the volume economics that followed. With SSDs (solid-state devices), flash arrived in a form optimized for compatibility—just replace a hard drive with an SSD for radically better performance. But the properties of the NAND flash memory used by SSDs differ significantly from those of the magnetic media in the hard drives they often displace. While SSDs have become more pervasive in a variety of uses, the industry has only just started to design storage systems that embrace the nuances of flash memory. As it escapes the confines of compatibility, significant improvements in performance, reliability, and cost are possible.

A File System All Its Own

 

Related:

Anatomy of a Solid-state Drive

Enterprise SSDs

Flash Disk Opportunity for Server Applications

 

Eventual Consistency Today: Limitations, Extensions, and Beyond

How can applications be built on eventually consistent infrastructure given no guarantee of safety?

PETER BAILIS AND ALI GHODSI, UC BERKELEY

In a July 2000 conference keynote, Eric Brewer, now VP of engineering at Google and a professor at the University of California, Berkeley, publicly postulated the CAP (consistency, availability, and partition tolerance) theorem, which would change the landscape of how distributed storage systems were architected.8 Brewer’s conjecture—based on his experiences building infrastructure for some of the first Internet search engines at Inktomi—states that distributed systems requiring always-on, highly available operation cannot guarantee the illusion of coherent, consistent single-system operation in the presence of network partitions, which cut communication between active servers. Brewer’s conjecture proved prescient: in the following decade, with the continued rise of large-scale Internet services, distributed-system architects frequently dropped “strong” guarantees in favor of weaker models—the most notable being eventual consistency.

Eventual Consistency Today:
Limitations, Extensions, and Beyond

Related:

Discrimination in Online Ad Delivery

Google ads, black names and white names, racial discrimination, and click advertising

LATANYA SWEENEY

Do online ads suggestive of arrest records appear more often with searches of black-sounding names than white-sounding names? What is a black-sounding name or white-sounding name, anyway? How many more times would an ad have to appear adversely affecting one racial group for it to be considered discrimination? Is online activity so ubiquitous that computer scientists have to think about societal consequences such as structural racism in technology design? If so, how is this technology to be built? Let’s take a scientific dive into online ad delivery to find answers.

“Have you ever been arrested?” Imagine this question appearing whenever someone enters your name in a search engine. Perhaps you are in competition for an award, a scholarship, an appointment, a promotion, or a new job, or maybe you are in a position of trust, such as a professor, a physician, a banker, a judge, a manager, or a volunteer. Perhaps you are completing a rental application, selling goods, applying for a loan, joining a social club, making new friends, dating, or engaged in any one of hundreds of circumstances for which someone wants to learn more about you online. Appearing alongside your list of accomplishments is an advertisement implying you may have a criminal record, whether you actually have one or not. Worse, the ads may not appear for your competitors.

Discrimination in Online Ad Delivery

 

Related:

How Fast is Your Web Site?

Web site performance data has never been more readily available.

PATRICK MEENAN

The overwhelming evidence indicates that a Web site’s performance (speed) correlates directly to its success, across industries and business metrics. With such a clear correlation (and even proven causation), it is important to monitor how your Web site performs. So, how fast is your Web site?

First, it is important to understand that no single number will answer that question. Even if you have defined exactly what you are trying to measure on your Web site, performance will vary widely across your user base and across the different pages on your site.

We will discuss active testing techniques that have traditionally been used, then explain newer technologies that permit the browser to report accurate timing data to the server.

How Fast is Your Web Site?

 

Related:

High Performance Web Sites

Building Scalable Web Services

Improving Performance on the Internet

 

FPGA Programming for the Masses

The programmability of FPGAs must improve if they are to be part of mainstream computing.

DAVID F. BACON, RODRIC RABBAH, SUNIL SHUKLA, T.J. WATSON RESEARCH CENTER

When looking at how hardware influences computing performance, we have GPPs (general-purpose processors) on one end of the spectrum and ASICs (application-specific integrated circuits) on the other. Processors are highly programmable but often inefficient in terms of power and performance. ASICs implement a dedicated and fixed function and provide the best power and performance characteristics, but any functional change requires a complete (and extremely expensive) re-spinning of the circuits.

Fortunately, several architectures exist between these two extremes. PLDs (programmable logic devices) are one such example, providing the best of both worlds. They are closer to the hardware and can be reprogrammed.

FPGA Programming for the Masses

 

Related:

Abstraction in Hardware System Design

Computing without Processors

Of Processors and Processing

The Evolution of Web Development for Mobile Devices

Building Web sites that perform well on mobile devices remains a challenge.

NICHOLAS C. ZAKAS

The biggest change in Web development over the past few years has been the remarkable rise of mobile computing. Mobile phones used to be extremely limited devices that were best used for making phone calls and sending short text messages. Today’s mobile phones are more powerful than the computers that took Apollo 11 to the moon, with the ability to send data to and from nearly anywhere. Combine that with 3G and 4G networks for data transfer, and now using the Internet while on the go is faster than my first Internet connection, which featured AOL and a 14.4-kbps dialup modem.

The Evolution of Web Development for Mobile Devices

 

Related:

Making the Mobile Web Faster

Mobile Media: Making It a Reality

Mobile Devices in the Enterprise: CTO Roundtable Overview

 

Making the Mobile Web Faster

Mobile performance issues? Fix the back end, not just the client.

KATE MATSUDAIRA

Mobile clients have been on the rise and will only continue to grow. This means that if you are serving clients over the Internet, you cannot ignore the customer experience on a mobile device.

There are many informative articles on mobile performance, and just as many on general API design, but you’ll find few discussing the design considerations needed to optimize the back-end systems for mobile clients. Whether you have an app, mobile Web site, or both, it is likely that these clients are consuming APIs from your back-end systems.

Certainly, optimizing the on-mobile performance of the application is critical, but software engineers can do a lot to ensure that mobile clients are remotely served both data and application resources reliably and efficiently.

Making the Mobile Web Faster

 

Related:

Usablity Testing for the Web

Mobile Application Development: Web vs. Native

Streams and Standards: Delivering Mobile Video

Hazy: Making it Easier to Build and Maintain Big-data Analytics

Racing to unleash the full potential of big data with the latest statistical and machine-learning techniques.

ARUN KUMAR, FENG NIU, AND CHRISTOPHER RÉ, DEPARTMENT OF COMPUTER SCIENCES, UNIVERSITY OF WISCONSIN-MADISON

The rise of big data presents both big opportunities and big challenges in domains ranging from enterprises to sciences. The opportunities include better-informed business decisions, more efficient supply-chain management and resource allocation, more effective targeting of products and advertisements, better ways to “organize the world’s information,” faster turnaround of scientific discoveries, etc.

Hazy: Making it Easier to Build and Maintain Big-data Analytics

 

Related:

The Pathologies of Big Data

Condos and Clouds

How Will Astronomy Archives Survive the Data Tsunami?