Updates from May, 2007

  • HPC blogs and news sites

    mike 2:17 pm on May 4, 2007 | 0 Permalink

    I’ve always liked the programming-languages community website Lambda the Ultimate, and recently I went looking for something similar for the High-Performance Computing community. I didn’t find exactly that*, but I did find a few great resources for news about HPC and computing research policy:

    HPCWire is a well-known news source for HPC. It has daily news updates, and occasional columns by guests from around the industry. Most of the news is press releases from companies and government labs, but it’s nice to have a single place to check for them. However, there is apparently no RSS feed, and to get email updates, you have to buy a subscription. I haven’t, but I do check back occasionally to read the columns.

    Supercomputing Online is another professional news outlet, which reads a little less like a press release, seems to have more coverage of academic news, and does have an RSS feed.

    insideHPC.com is more of a weblog than either of the first two – John E. West covers news stories in brief with some added perspective and analysis. I like his approach, and I’ve joined him to help cover academic HPC issues, both computing research and issues affecting computational scientists.

    One of many blogs at Sun is the HPC Watercooler, covering Sun’s HPC products and services, as well as some non-Sun related news. I’ve found it pretty interesting already, and I’d be interested to see weblogs from other HPC vendors.

    Finally, a couple of blogs that are less directly related to HPC but still very relevant for computing researchers, are Dan Reed’s weblog at the Renaissance Computing Institute, and the CRA Computing Research Policy Blog, both of which cover computing research policy and funding issues that don’t often show up in news coverage of either government or computing.

    * – if anyone wants to start an LTU-alike site for HPC research, or point me to one, I’ll sign up and contribute in an instant.

     
  • The TRIPS processor

    mike 11:01 am on April 25, 2007 | 1 Permalink

    The UT-Austin TRIPS project will be unveiling their new processor next Monday. (event details)

    This is a pretty interesting attempt to get around the problems facing processor design today. Clock speeds have stalled, but the actual Moore’s Law – the one about transistor count, not “speed” – is still going, so we have the problem of what to do with just a lot of copies of basically the same old chip?

    A lot of answers you hear involve pushing that complexity up to the programmer, forcing more people to become parallel programmers. This is almost certain to happen at least a little, but let’s hope we don’t have to give up on the sequential programming model completely. If you think software is bad now…

    The TRIPS processor is an example of another approach – placing more of the burden of finding and using parallelism onto the compiler and architecture, keeping programmers’ heads above water. It’s pretty exciting to see something this different make its way into actual silicon.

    The basic idea is that instead of a single piece of control logic organizing the actions of multiple functional units, finding concurrency within a window of instructions using reordering, the TRIPS processor is distributed at the lowest level – each functional unit is a mini-processor (called a tile), and instructions executing on separate processor tiles communicate operands directly, not through a register file. Usually this is described as executing a graph of instructions instead of a single instruction at a time.

    Current processors certainly don’t just execute one instruction at a time, and they do plenty of moving instructions around, so I tend to see this explicit-data-graph description as just the far end of a spectrum that starts with old superscalar designs, continues through out-of-order processors and multithreaded architectures, and currently seems to end here.

    A TRIPS processor can run four thread contexts at once, with an instruction window of 1024 instructions to reorder and 256 memory operations in flight at once. For comparison, the late ’90s Tera MTA ran 128 threads at once (128 different program counters), and the 2003-vintage Cray X1 processors kept track of 512 memory operations at once. Just like TRIPS, each of those architectures required extensive compiler support for good performance.

    A particularly interesting point is the fully partitioned L1 cache – meaning that there are multiple distributed L1 caches on the chip, so where your instructions are physically executing will be important for performance – if they’re near the cache bank holding their operands, they will execute sooner.

    The natural question when looking at a new and interesting architecture like this, especially one that promises a tera-op on a chip, is whether it will make its way to a laptop you can buy anytime soon. I have no idea if the UT team has any industry deals in the works, but I would bet against something like this becoming mainstream quickly – the fact that these architectures rely so much on a custom compiler with aggressive optimization means that a lot of dirty work is required to move existing software to it.

    It will be interesting to follow this project and see how their actual hardware performs.

     
  • Announcing Skim: Stop printing - Start Skimming.

    mike 11:12 am on April 2, 2007 | 34 Permalink

    If you spend a lot of time reading articles and research papers that you get in PDF form, then you might be interested in the latest app from the folks who brought you BibDesk. If you already use BibDesk, then you certainly want to take a look.

    Even though we keep our research papers stored on disk as PDF, all too often we print them out to read and write notes on. There’s something missing in the experience of reading papers on a computer, but it doesn’t have to be that way.

    Announcing Skim. Skim is a PDF reading and note-taking app for Mac OS X that is designed to make reading research papers and manuals better. Just like in Preview, you can search, scan, and zoom through PDFs, but you also get some custom features for your workflow:

    • Snapshots: if there’s a graph on page two and the description continues to page three, just draw a box around the graph with the command key down and a snapshot window pops up with the graph, and you can keep on reading with the graph in view. For more fun, minimize that snapshot window – they stick around in their own dock in the document window.

    • Tooltips: If a PDF has links, such as for citation references or indexes and section headings, you can click on them as usual to go to the destination, but there’s more – hover the mouse over those links and Skim will show you a tooltip with the target of the link. No more losing your place to peek at a citation! For more fun, command-click on a link to pop up a snapshot window showing the link’s destination.

    • Presentation and Full-screen Modes: Full-screen reading is handy. So is showing a PDF as a presentation. But they’re a little different. For instance, you might not want to show the table of contents in a presentation, but it’s nice to see it when you’re just reading by yourself. So Full-screen and Presentation are separate modes in Skim.

    There’s plenty more – download it and take a look, and join the mailing list to discuss it. There’s even a full help book in the first public beta release!

    Many thanks to everyone who has worked on this app, and especially to Christiaan Hofman, who moved the app from a prototype to something really useful faster than I would have thought possible.

     
  • Fran Allen to receive Turing Award

    mike 12:25 pm on February 23, 2007 | 0 Permalink

    This is really cool: Fran Allen, a founder of the field of program optimization and compiler analysis, will be the first woman to receive the Turing Award. More info, including a description of her accomplishments, is at the ACM press release.

     
  • Supercomputing 2006 BOF: "Is 99% Utilization of a Supercomputer a Good Thing?"

    mike 3:28 pm on October 30, 2006 | 0 Permalink

    For those few readers who are interested in High Performance Computing and might be going to this year’s Supercomputing conference in Tampa, my advisor Allan Snavely and Jeremy Kepner from Lincoln Labs are putting on a BOF with an intriguing subject: “Is 99% Utilization of a Supercomputer a Good Thing?”

    It’ll be on Thursday Nov. 16th at 12:15PM.

    As with all really interesting questions, this has a quick, easy answer that reveals your point of view. My immediate answer is “No”, because of the productivity problems the focus on high utilization causes for many HPC users, mainly through the use of a batch queue. However, when considering the interests of everyone involved (including the people who have to evaluate how money is spent on these systems), the only responsible way to answer is “it depends”.

    It’s an interesting topic that never fails to generate some controversy, and from what I can tell we’ll have some diverse speakers at the BOF (including myself, discussing user surveys we’ve conducted as part of DARPA HPCS). It should be enlightening.

     
  • MacResearch.org: BibDesk "killer app"

    mike 12:37 pm on June 28, 2006 | 1 Permalink

    Over at macresearch.org, they’ve posted a nice review of BibDesk. One quote: “If you use Latex search no more, this is a killer app.” Kudos to Adam and Christiaan.

    I see an increasing number of Macs at research meetings I go to, and I usually can’t help but peek on their dock to look for that yellow folder. I usually don’t ask people if they’ve heard of it, but I have thought of putting a big sticker with the BibDesk icon on my PowerBook, just to see if anyone recognizes it.

     
  • Static Bug Checking in Open Source software

    mike 8:00 pm on March 13, 2006 | 0 Permalink

    Coverity, the company formed by the people behind the Stanford MC Checker, has started posting regular reports from their analysis tools on prominent open-source projects at scan.coverity.com.

    I found out about this through an email from the Coverity CTO on the GCC mailing list, and it seems to have been received with some moderate enthusiasm. I think it’s a good idea, but as usual the specter of false positives makes the developers itchy, especially when they’re publishing bug counts…

    Dawson Engler, the professor at Stanford who was behind all this bug-finding work (and co-founded Coverity) gave a talk recently here at CSE, about newer approaches to finding bugs that uses execution on symbolic inputs – meaning that you mark some inputs to a program as symbolic, and somewhere there’s a theorem prover that goes to work finding out if any value of those inputs can cause an error or a crash – then you can run the original code on the input to verify the problem. A nice consequence here is that the generated ‘bad’ input is then guaranteed to actually be bad, since you can test it and force the error.

    There’s a paper about that from Engler’s group here, and apparently this PLDI 2005 paper from Bell Labs is very similar.

    Here’s Prof. Engler’s slides from talks about the new work on bug finding and an entertaining talk about commercializing the MC Checker.

     
  • Concurrency is about to be everybody's problem

    mike 1:30 am on March 3, 2006 | 1 Permalink

    Herb Sutter, software architect at Microsoft, chair of the ISO C/C++ committee, and blogger, gave a talk this Monday about the impending concurrency revolution and his project, Concur, an extension to C style languages to support usable concurrent programming. I enjoyed his talk in spite of the job-fair atmosphere (it was also a Microsoft recruiting event) and having to stand the whole time, so I’d say it was a good talk.

    Check out his article “The Free Lunch is Over” for a programmer’s viewpoint on what to do with the processors we’re currently faced with. This is a very exciting time for computing – parallelism has always been the future, and the future is finally now. I am increasingly convinced that as a programmer, if you resist learning how to program concurrent systems, then you will be obsolete very, very soon.

    The reason is that processor architects have density to waste, but they have nearly run out of ways to use extra transistors to make single processors faster – so they’re happily just shipping chips with bunches of smaller processors. According to intel’s (nicely readable) Platform 2015 site, Dual and Quad-core isn’t nearly the end – today’s college freshman will likely start out their career programming not “multi-”, but “many-core” systems (think ‘at least hundreds’), requiring hundreds or thousands of independent threads of execution to avoid leaving performance on the table. Are we preparing students for this? I doubt it.

    So, should we all run off and learn all about pthreads and mutexes? No – concurrent programming is really hard, even to get it almost right on a toy problem. In some areas (like servers and mathematics used for scientific computing), concurrency is a “well-understood” problem, but even there it’s widely understood to be hard. No wonder everybody’s been avoiding it.

    This is really a problem for language designers, framework designers, and compiler writers – how do we build an environment where a reasonably competent developer can write and debug programs with a very high level of concurrency? For everyone else, just keep your eyes peeled – they’re working on it.

    To quote Maurice Herlihy, from an invited speech (ppt slides) at 2005’s PLDI conference (for compiler writers and language jockeys), This situation amounts to a “PLDI Full-employment act”. Interesting times, indeed!

     
  • Introducing LENS

    mike 8:29 pm on February 14, 2006 | 0 Permalink

    I’ve just put up the website for my current project (to be part of my Ph.D. dissertation work): LENS, a framework for program information manipulation that presents a uniform interface to selective user and automated queries about many types of program metrics, including success and diagnostic information about compiler optimizations and code generation.

    I’m not sure how many readers of my weblog will be interested, but there’s a link to a technical report on there if you want the gory details.

    Feedback and questions are very welcome – the more opportunities I get to explain what I’m doing, the better I get at it.

     
  • What's hot in CS

    mike 1:02 am on February 5, 2006 | 0 Permalink

    Today, a group of graduating PhD students in our department met up to brief each other on what’s new and hot in their respective fields, to remind each other of what’s going on outside their respective specialties. The idea is that when interviewing for jobs, you have to hold up your end of a conversation with professors outside your specialty, and it helps to know a bit about their field.

    To quote one professor in our department, “…there is a special circle of hell reserved for grad students interviewing for jobs who are unable to answer questions of the form, ‘Oh, you’re from UCSD. What’s Professor so-and-so up to these days?’.”

    It took about six hours to get through talks from students working on Architecture, Bioinformatics, Systems, Graphics, Vision, Databases, Security, VLSI and more, and I’m not going to try to repeat any of the details, because frankly I’m numb. I will say that it was a great idea, and if you’re a grad student and your department doesn’t do something like this, you should start a tradition.

    I will mention one thing: automatic detection and adaptation to network attacks is so hot right now.

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
esc
cancel