Adrian Sampson

Subscribe

What Is Macroscalar?

(April 24, 2012)

A couple months ago, a story made the nerd-press rounds about Apple’s trademark application and several patents for something called a “macroscalar” processor architecture. I’ve taken a stab at decoding the publicly available information about macroscalar architectures to give a coherent picture of the idea.

Green Clouds

(April 17, 2012)

Janet Tu writes in the Seattle Times today about a new Greenpeace report analyzing the use of renewable energy in data centers (or, as they put it, “the cloud”). I provided a couple of comments for the Times story and I’ll expand a little bit here on the importance and feasibility of improving energy efficiency in a cloud-centric world.

On the Radio

(March 19, 2012)

I appeared briefly on Weekday, a local public radio program, to talk about the Facebook fellowship and energy-efficient computing. And I met Jack Hitt!

Truffle, an Architecture for Approximate Computing

(February 12, 2012)

I recently worked on a project, called Truffle, that lends some credibility to the architecture assumed by EnerJ, the language for approximate computing that I worked on previously. The paper about Truffle was recently accepted to ASPLOS! Woohoo! I will give a talk about the project there in March.

Measuring Smartphone Energy on a Budget

(December 9, 2011)

For a recent research project, I measured the power consumption of a smartphone. I am clueless when it comes to electronics and I didn’t want to drop a lot of (my advisor’s) cash, so I needed a simple, relatively cheap setup to get reasonable power measurements. This post describes how you can get a similar apparatus up and running with a custom Python library I wrote for controlling a DC power supply.

Bluelet: Using Native Python Coroutines as Green Threads

(July 7, 2011)

As a side project, I wrote a simple implementation of green threads for the Python programming language. The library is called Bluelet and it uses Python’s native implementation of coroutines. Bluelet makes it easy to write concurrent socket programs without OS threads, multiple processes, or select()-and-dispatch loops.

EnerJ Aftermath: Presentation, Poster, and Press

(June 11, 2011)

FCRC was fantastic; I’m still reeling from all the great people I met. I’m posting my slides for the PLDI presentation and a poster for the project. I also learned a little bit about research reporting in the media.

A Detailed Quality-of-Service Profiler

(June 8, 2011)

For my CSE 503 class project, I implemented a detailed quality-of-service profiler, a tool to help identify code that is inessential for output correctness. The tool is an extension to work at MIT that originally proposed a quality-of-service profiler; this project is a slightly different take on the same basic idea.

Conference Spam Gmail Filter

(March 25, 2011)

If you’re like me, you’re probably not very interested in the latest deadline extension for the First Annual Multiconference on Informatics and Cybernetics. Here’s a filter for Gmail that catches most of this kind of conference spam.

EnerJ: A Language for Unreliable, Low-Power Systems

(February 5, 2011)

My paper on EnerJ, a language extension for approximate computing, will be presented at PLDI 2011! This is especially exciting because I hope EnerJ will be the basis for a bunch of new research directions in the near future. This is a summary of EnerJ’s type-based approach to bringing safety to unsafe, unreliable hardware.

Some Literature on Application-Level Error Exposure

(January 22, 2011)

My recent research has focused on power efficiency gains available by compromising on strict correctness guarantees. That is, many applications (like audio or video processors) can tolerate occasional errors in their execution—and permitting some errors can yield large gains in power or performance. Many researchers have come to a similar realization independently, so here I’ll try to collect together a few different approaches to the issue.

Hold On! It's a Blog!

(January 21, 2011)

I started an academic blog! Come back often.