COMPUTING ECOLOGY
>> FALL 2012 | [ SCHEDULE ] | [ PDF ] | [ TUMBLR ]
Instructor: Andrew Cencini (acencini@bennington.edu)
Credits: 4
Meeting Time: M/Th 10:10am - 12:00pm
Location: Mondays - The Pod (VAPA 2nd Floor) ; Thursdays - VAPA B209
Office Hours: W/F 10:00am-12:00pm, Dickinson 211
Course Web Site: http://cs.bennington.edu/courses/f2012/cs2150.01/

SUMMARY:
This course provides an introduction to the environmental impact of computing – in particular, examining data center and personal computing power consumption, as well as physical waste generated by computing. We will conduct physical and virtual experiments to measure and analyze power consumption and efficiency relative to computing (hardware and software), and will learn essential programming and analysis skills applicable to a broad array of questions and problems. In addition, we will survey current academic and industrial research and initiatives relative to green computing, and consider ways to reduce the environmental impact of computing on a personal, local and global level.

STUDENTS:

  • Emily Anzalone
  • Ellesse Bartosik
  • Sumedh Chatterjee
  • Patrick Harnett-Marshall
  • Sibel Kavadarli
  • Erika Lygren
  • Brendan McPherson
  • Scott Milliman
  • Madelyn Moberg
  • Sung-Ryul Moon
  • Christopher Sanacore
  • Benton Snodgrass
  • Son Tung Trinh

PURPOSE OF THIS COURSE:

  • Become knowledgeable about environmental issues in our evolving computing space.
  • Learn aspects of computational thinking that may be applied broadly.
  • Enhance critical thinking about technology and its relation to the environment.

FORMAT:
In this class, we will spend approximately 50% of our time discussing relevant research and policy work in the space of computing ecology. The other 50% of our time will be spent on lab work and experiments that will support our exploration. There will also be at least one field trip during one of our class meetings (more detail on logistics will be provided in class).

TEXTBOOK:
There are three required books (of which only one needs to be purchased) for this course. They are:

Blum, Andrew “Tubes: A Journey to the Center of the Internet” (Blum). Obtain via the Bennington College Bookstore, or bookseller of your choice. Also on course reserve at Crossett Library.

Gabrys, Jennifer “Digital Rubbish: A Natural History of Electronics” (Gabrys). Physical hard copy on course reserve at Crossett Library. Freely available online at:

Elkner, Downey & Meyers “How to Think Like a Computer Scientist: Learning with Python” 2nd Edition (EDM). Freely available online at: Optional (for those interested in Java as opposed to Python): Reges & Stepp - Building Java Programs ” (any edition). Available via Amazon.com – older editions are cheaper and are generally ok.

Assorted readings and papers will be provided throughout the course on the course web site. I also have an extensive library of computing books and literature. Feel free to ask to borrow a book from me if obtaining a book is problematic.

REQUIREMENTS:
This class will challenge you in many ways that you have not been challenged before. This can be uncomfortable. I expect you to be courageous in the face of these challenges, and to push yourself through them towards a greater understanding of the subject matter as well as your own ways of knowing. If you are struggling fruitlessly, I am available to help you get yourself onto better footing.

You are expected to attend every scheduled meeting of this course. More than 2 absences, or a pattern of chronic lateness will substantially jeopardize your standing in this course. Additionally, at a minimum, I expect you to thoroughly read and consider all assigned readings for this class, and to come to class ready to discuss, question, critique and relate those readings. All assignments must be completed and are due on the date and time agreed upon. Late work will not be accepted.

For lab sessions, experiments and assignments, I expect you to be honest, independent and creative. Half of the purpose of the exercises is to develop skills and context, while the other half is for you to use those skills and context in order to ask and attempt to answer good, tough questions. Free riding, plagiarism, and unoriginal/unmotivated work defeat the purpose of those exercises, and therefore will result in failure of that portion of the class.

EVALUATION:
You will be evaluated in this course on the following criteria:

  • Engagement, classroom/lab contribution (40%) - Are you an asset to your colleagues' and your own learning? Is it clear you have carefully read and thought about the reading? Do you have insightful questions, bring in additional perspective and/or materials? Are you respectful of your colleagues? Is the work you do in labs and experiments thoughtful, motivated and challenging?
  • Critical reading and analysis (30%) - Are your reading journal entries complete? Do they reflect a careful and critical reading of the material? Do you raise good questions? Do you connect the reading to a larger topic at hand, as well as to other readings?
  • Assignments and projects (30%) - Do exercises and your final project demonstrate fullness of thought on the assigned topic? Are the solutions technically sound? Does the work connect with the course topic in a meaningful way? Does the final project demonstrate reasonably comprehensive coverage of the chosen topic?
EVALUATIVE ELEMENTS:
  • Weekly reading responses
  • 3 programming exercises
  • 1 final project
READING:
For our weekly discussions, you will read and discuss a number of pieces from a variety of sources.

A fair amount of the reading for this class comes from academic research in computing ecology. For the uninitiated, reading computing research papers can be deceptively difficult, and sometimes 12 pages of reading may take an hour or two to read, digest and summarize. This is ok. One common tactic that is helpful in solidifying one's understanding (and recall) of such literature is to keep a reading journal that summarizes and critiques the readings you've done. Therefore...

READING JOURNAL:
For each set of weekly readings, you will keep a reading journal (a tumblr is one way that is perfectly acceptable). In this reading journal, you will include, for each piece read:

  • Title, authors & their affiliations
  • Brief (300 words or less) summary of the key points of the paper
  • Pros, cons, questions and reactions to the ideas in the paper
  • (Completely optionally) an image, video, song, mnemonic device, poem, or some other expressive element that connects you to the piece you read (feel free to contextualize).
  • Anything else you feel is necessary, notable or interesting.
For the Blum and Gabrys books, it is up to you to decide how to record your thoughts on those works – again, the main point is to help you organize and crystallize your thinking about everything you've read in this class. There may be a few other cases (for example, a collection of short, related media articles, etc.) where a single journal entry for multiple pieces, or a different approach may be appropriate – we will discuss these cases as they arise.

PROGRAMMING ASSIGNMENTS:
This is not a programming course; however, there is a programming component that will help you develop and exploit the power of computational thinking.

In addition to in-class lab work and instruction, you will also carry out approximately three modest programming assignments that will be submitted for review. The purpose behind learning some basic programming and computational thinking is to assist you in being able to write simple programs to process data, perform computations, or generate various types of output that will be invaluable for a wide variety of problems in almost any discipline.

Details on individual assignments will be provided as the class progresses.

FINAL PROJECT:
The final project for Computing Ecology will be of your own design. A wide variety of questions, topics, ideas, methods and approaches are possible. More details will be provided as the class progresses.

GETTING HELP:
I am always happy to help if you are stuck with a particular concept, idea, piece of code, etc. I strongly prefer email (acencini@bennington.edu) and in-person interaction versus the use of the phone. Before you come for help, be sure you are ready to frame and articulate clearly and specifically what your question is in order to make the most efficient use of our time.

SCHEDULE:
Week 0
Thursday 9/6

Introduction, Orientation, Problem Space

Reading:
Williams, Eric - “Environmental Effects of Information and Communications Technologies” (Nature, 17 Nov 2011).

Optional: Select, read and analyze one of the references at the end of the Williams article.

Science Workshops - First workshop is 9/7 for meet and greet in Dickinson 225 1pm (SNACKS).

Week 1
Monday 9/10

Lab Orientation, Resources, Tools
Power Measurements: My Stuff

Requirement:
Bring object(s) to class that consume power.

Questions:
How much power does a household consume?
What factors feed into this measure?

Thursday 9/13

Energy, Power Systems, Measurements

Reading:
Koomey, J. “Worldwide Electricity Used In Data Centers” (Environmental Research Letters, 2008).

Belady et al. “Green Grid Data Center Power Efficiency Metrics: PUE and DCIE” (2008).

Patterson et al. “Water Usage Effectiveness (WUE™): A Green Grid Data Center Sustainability Metric” (2011).

OPTIONAL:
Brown et al. “Report to congress on server and data center energy efficiency: Public law 109-431” (2008). Will be discussed Thurs, 9/20 – start reading.

Hamilton, J - “PUE and Total Power Usage Efficiency (tPue)”

Hamilton, J - “PUE is Still Broken and I Still Use It”

Questions:
How much power do you use in your room? Your house?
How much power does Bennington College use?
How much power does the town of Bennington use?
Where does your power come from at home?
Where does your power come from at Bennington?

Slides from Class:
Power Measurement and Generation

Week 2
Monday 9/17

Limitations of the Kill-A-Watt
Introduction to Python (lab)

Reading:
EDM Chapters 1 & 2

Lady Ada "How to Solder".

OPTIONAL:
Brown et al. “Report to congress on server and data center energy efficiency: Public law 109-431” (2008). Finish reading this week.

Thursday 9/20

Data Center Ecology (I) - Overview

Slides from class today

Reading:
Kant, K. “Data Center Evolution: A Tutorial on State of the Art, Issues and Challenges” (Computer Networks, October 2009). Sections 4, 6 and 7 may be read less closely unless they are of great interest to you.

Greenpeace “How Clean is Your Cloud?” (April 2012). Plus supplements (Facility list & Letter to Ballmer et al.).

Week 3
Monday 9/24

Bride of Tweet-A-Watt Part I:
The Receiver

Reading:
EDM Chapter 3

Apple “Apple Facilities Report 2012” (2012).

Garling, C. “Apple's iCloud Has Solar Lining” (Wired Enterprise, February 2012).

Hamilton, J. “I Love Solar Power, But...”.

Thursday 9/27

Data Center Ecology (II) – Physical and Virtual Principles

Reading:
* Greenberg, et al. “The Cost of a Cloud: Research Problems in Data Center Networks”

Glanz, James "Data Barns in a Farm Town, Gobbling Power and Flexing Muscle" (NY Times, 9/23/2012)

Musil, S “Measuring Your Google Search's Carbon Footprint” (CNET, January 2009).

Hφlzle, U “Powering a Google Search” (January 2009).

Glanz, J “Google Details, and Defends, Its Use of Electricity” (NY Times, September 2011).

Optional:
Qureshi et al. "Cutting the Electric Bill for Internet-Scale Systems" (SIGCOMM '09, August 2009).

Week 4
Monday 10/1

Bride of Tweet-A-Watt Part II:
The Transceiver

Reading:
EDM Chapters 4, 5

Data Center Knowledge “Data Center Water Use Moves to the Forefront” (August 2012).

Lee, D. “Water Efficiency at Facebook's Prineville Data Center” (OpenCompute Blog, August 9, 2012).

Facebook “Facebook's Carbon & Energy Impact” (2012).

Data Center Knowledge “Facebook Revises its Data Center Cooling System” (July 2012).

Optional:
Rao, et al. “Minimizing Electricity Cost: Optimization of Distributed Internet Data Centers in a Multi-Electricity-Market Environment” (IEEE INFOCOM 2010, 2010).

Thursday 10/4

Data Center Ecology (III) – Server & Service Design
Exploration of Decommissioned Data Center Hardware

Reading:
* Barroso & Hφlzle “The Case for Energy-Proportional Computing” (Computer, Dec 2007)

* Gupta & Singh “Greening of the Internet” (SIGCOMM '03, August 2003).

De Gelas, J “Facebook's 'Open Compute' Server Tested” (AnandTech, November 2011).

Optional:
Hamilton, J. “Cooperative Expandable Micro-Slice Servers: Low-Cost, Low-Power Servers for Internet-Scale Services” (CIDR 2009, January 2009).

Week 5
Monday 10/8

Bride of Tweet-A-Watt Part III:
The Transceiver, Tying it All Together Python Lab - Next Steps

Reading:
EDM Chapters 6, 9

Begin reading Blum (Tubes) – Discussion with Author will be on 10/15.

Thursday 10/11

Data Center Ecology (IV)
Facility Design
Finish up Tweet-A-Watt Hardware (if necessary)

Reading:
Fehrenbacher, K. “Yahoo's Chicken Coop-Inspired Data Center” (Cleantech News & Analysis, 2010).

Kanellos, M. “Yahoo Nears Perfection with Chicken Coop Data Center” (Greentech Media, 2010).

Miller, R. “CyrusOne Goes V-Shaped with Roof in Phoenix” (Data Center Knowledge, July 2012).

* Hamilton, J. “An Architecture for Modular Data Centers” (CIDR 2007, January 2007).

Continue reading Blum.

Week 6
Monday 10/15

First Half of Class:
A Discussion with Andrew Blum, author of "Tubes: A Journey to the Center of the Internet" (via Skype) - Meet in CAPA Symposium @10:10am

Second Half of Class:
FIELD TRIP #1 - A Journey to the Center of Bennington's Internet

Thursday 10/18

Catch-up - Finish discussing Data Center Facility Design, Blum, etc.

Week 7
Monday 10/22

LONG WEEKEND:
NO CLASS

Thursday 10/25

Personal Computing Ecology (I) – Energy Consumption and Resource Efficiency

Reading:
De Gelas, J. “Hardware Virtualization: The Nuts and Bolts” (AnandTech, March 2008)

Questions: How many computers (or computing devices) are at Bennington?
How many computers (or computing devices) have you owned?

Week 8
Monday 10/29

Code's Carbon Consequences
Algorithms & Efficiency

Code for class: wattcher.py xbee.py - save these to "SAVE HERE/yourUserId".

Reading:
None - may want to consider getting an early start on Pucket et al.

ASSIGNMENT 1
Due 11/5/2012

FINAL PROJECT INFORMATION
Information on Final Project

Thursday 11/1

Personal Computing Ecology (II) – Physical and Manufacturing Waste

Reading:
“Apple Removes Green Electronics Certification from Products” (CIO Journal, July 2012).

* Pucket, et al. “Exporting Harm: The High-Tech Trashing of Asia” (February 2002).

OPTIONAL: Williams, E. “Energy Intensity of Computer Manufacturing: Hybrid Assessment Combining Process and Economic Input-Output Methods” (Environmental Science Technology, 2004). plus supporting info.

Week 9
Monday 11/5

Code's Carbon Consequences (III)

wattcher.py - new version for today!

Programming Assignment #2

Python Lab #2

Reading:
Blum, Andrew "Why the iPhone May Be the Greenest Technology We've Ever Seen" (Daily Beast, October 2012)

Begin reading Gabrys

Thursday 11/8

PLAN DAY:
No Class

Week 10
Monday 11/12

Project Proposal Day
(submit and review final project proposals)

Assignment 1 - Solution Set

Reading:
Continue reading Gabrys

Thursday 11/15

Digital Rubbish - Physical and Virtual Waste Streams; the Good and the Bad

Code from today

Reading:
Finish reading Gabrys

Optional:
Benfield, K. "The Opportunity that Apple is Missing to Build a Better Neighborhood (2012).

Week 11
Monday 11/19

FIELD TRIP
Goodwill HQ: Pittsfield, MA
(e-Waste & Recycling)
(NOTE: Field Trip may return by 1:15pm)

Reading:
Cline, E. “The Salvation Army Probably Can't Use Your Clothes” (Slate, June 2012).

Thursday 11/22

THANKSGIVING BREAK:
NO CLASS

Week 12
Monday 11/26

Film: Exporting Harm & The Digital Dump

Thursday 11/29

Python Lab 3: Lists, Modules

Week 13
Monday 12/3

Python: Wrapping Up

Assignment 2 Solution

Graphy!

Assignment 3 - OPTIONAL - due 12/14/2012 start of class

Thursday 12/6

Final Project Presentations

  • Maddy
  • Brendan
  • Sumedh
  • Benton
  • Patrick
  • Week 14
    Monday 12/10

    Final Project Presentations

  • Chris
  • Sibel
  • Erika
  • Sunny
  • Ellesse
  • Scott
  • Emily
  • Thursday 12/13

    Wrap-up and tearful goodbye