jump to navigation

Bjarne Stroustrup September 8, 2009

Posted by gordonwatts in CERN, ROOT, computers.
3 comments

IMG_2253If you are even semi-conscious of the computing world you know this name: Bjarne Stroustrup. He is the father of C++. He started designing the language sometime in the very late 1970’s and continues to this day trying to keep it from getting too “weird” (his words).

He visited CERN this last week, invited by the ROOT team (I took few pictures). I couldn’t see his big plenary talk due to a meeting conflict, but my friend Axel, on the ROOT team, was nice enough to invite me along to a smaller discussion. Presentations made at this discussion should be posted soon here. The big lecture is posted here, along with video (sadly, in flash and wmv format – not quite mp4 as I’ve been discussing!!)! I see that Axel also has a blog and he is posting a summary there too – in more detail than I am.

The C++ standard – which defines the language – is currently overseen by a ISO Standards Committee. Collectively they decide on the features and changes to the language. The members are made up of compiler vendors, library vendors, library authors, large banking organizations, Intel, Microsoft, etc. – people who have a little $$ and  make heavy use of C++. Even high energy physics is represented – Walter Brown from Fermilab. Apparently the committee membership is basically open – it costs about $10K/year to send someone to all the meetings. That is it. Not very expensive. The committee is currently finishing off a new version of the C++ language, commonly referred to as C++0x.

The visit was fascinating. I’ve always known there was plenty of politics when a group of people get together and try to decide things. Heck, I’m in High Energy Physics! But I guess I’d never given much thought to a programming language! Part of the reason it was as fascinating as it was was because several additions to the language that folks in HEP were interested in were taken out at the last minute – for a variety of reasons – so we were all curious as to what happened.

I learned a whole bunch of things during this discussion (sorry for going technical on everyone here!):

  • Bjarne yelled at us multiple times: people like HEP are not well represented on the committee. So join the thing and get views like ours better represented (though he worried if all 150 labs joined at once that might cause a problem).
  • In many ways HEP is now pushing several multi-core computing boundaries. Both in numbers of cores we wish to run on and how we use memory. Memory is, in particular, becoming an acute problem. Some support in the standard would be very helpful.  Minimal support is going in to the new standard, but Bjarne said, amazingly enough, there are very few people on the committee who are willing to work on these aspects. Many have the attitude that one core is really all that is needed!!! Crazy!
  • In particle physics we leak memory like a sieve. Many times our jobs crash because of it. Most of the leaks are pretty simple and a decent garbage collector could efficiently pick up everything and allow our programs to run longer. Apparently this almost made it into the standard until a coalition of the authors of the boost library killed it: if you need a garbage collector then you have a bug; just fix it. Which is all good and glorious in an ideal world, but give me a break! In a 50 million line code base!? One thing Bjarne pointed out was it takes 40 people to get something done on the committee, but it takes only 10 to stop it. Sort of like health insurance. :-)
  • Built in support for memory pools would probably be quite helpful here too. The idea is that when you read in a particle physics event you allocated all the data for that event in a special memory pool. The data from an event is pretty self-contained – you don’t need it once you have done processing that event and move onto the next one. If it is all in its own memory pool, then you can just wipe it out all at once – who cares about actually carefully deleting each object. As part of the discussion of why something like this wasn’t in there (scoped allocators sounds like it might be partway there) he mentioned that HP was “on our side”, Intel was “not”, and Microsoft was one of the most aggressive when it came to adding new features to the language.
  • I started a discussion of how the STL is used in HEP – pointing out that we make very heavy use of vector and map, and then very little else. Bjarne expressed the general frustration that no one was really writing their own containers. In the ensuing discussion he dissed something that I often make use of – the for_each loop algorithm. His biggest complaint was who much stuff it added – you had to create a whole new class – which involves lots of extra lines of code – and that the code is no longer near where it is being used (non-locality can make source code hard to read). He is right both are problems, but to him they are big enough to nix its used except in rare circumstances. Perhaps I’ll have to re-look at the way I use them.
  • He is not a fan of OpenMP. I don’t like it either, but sometimes people trot it out as the only game in town. Surely we know enough to do better now. Tasked based parallelism? By slots?
  • Bjarne is very uncomfortable with Lambda’s functions – a short hand way to write one-off functions. To me this is the single best thing being added to the language – it will not be possible to totally avoid having to write another mem_fun or bind2nd template. That is huge, because those things never worked anyway – you could spend hours trying to make the code build, and they added so much cruft to your code you could never understand what you were trying to do in the first place! He is nervous that people will start adding large amounts of code directly into lambda functions – as he said “if it is more than one line, it is important enough to be given a name!!” We’ll have to see how use develops.
  • He was pretty dismissive of proprietary languages. Java and C# both were put in this category (both have international standards behind them, just like C++, however) – citing vendor lock-in. But the most venom I detected was when he was discussing the LLVM open source project. This is a C++ interpreter and JIT. This project was loosely run but has now been taken over by Apple – presumably to be, among other things, packaged with their machines. His comment was basically “I used to think that was very good, but now that it has been taken over by Apple I’d have to take a close look at it and see what direction they were taking it.”
  • Run Time Type Information. C++ came into its own around 1983 or so. No modern language is without the ability to inspect itself. Given an object, you can usually determine what methods are on the object, what the arguments of those methods are, etc. – and most importantly, build a call to that method without having ever seen the code in source form. C++ does not have it. We all thought there was a big reason this wasn’t the case. The real reason: no one has pushed hard enough or is interested enough on the committee. For folks doing dynamic coding or writing interpreters this is crucial. We have to do that in our code and adding the information in after-the-fact is cumbersome and causes code bloat. Apparently we just need to pack the C++ committee!

Usually as someone rises in importance in their field they get more and more diplomatic – it is almost a necessity. If that is the case, Bjarne must have been pretty rough when he was younger! It was great to see someone who was attempting to steer-by-committee something he invented vent his frustrations, show his passion, name names, and at one point threaten to give out phone numbers (well, not really, but he almost gave out phone numbers). He can no longer steer the language exactly as he wants it, but he is clearly still very much guiding it.

You can find slides that were used to guide the informal discussion here. I think archived video from the plenary presentation will appear linked to here eventually if you are curious.

Energy vs Power vs Heat vs Oh no! July 5, 2009

Posted by gordonwatts in CERN, LHC.
2 comments

Last post I mentioned the LHC update that was given at a recent meeting at CERN. One cool thing Steve Myers’ showed during his talk was a discussion of the quality of the splices and how it might affect the LHC’s ability to run.

For a sample of the trade-off, check out this plot, stolen from page 46 in the talk.

image_thumb[1]

Along the x axis is the measured resistance between two magnets (across the splice). The units there are nano-ohms – something only the most expensive multimeters can measure. If you remember your Physics 101 course, you remember P=I^2R (power is current squared times resistance). The units of P are Watts (!) – just like your light bulb. These are superconducting magnets, of course. The magnets are very powerful and so have 1000’s of amps of current flowing through them. So even small R’s mean decent heat sources. Heat warms up the magnets, and makes them no longer superconducting – and that can be a disaster (a few of these is not a problem – it happens every now and then – but a chain reaction is what caused the last September accident). So – the splices, which aren’t superconducting, need to be excellent and have almost no resistance. Like 10-15 nano-Ohms.

The Y axis is how much current you are pumping through the magnet. Current is proportional to the magnetic field, which is proportional to the energy we can run the LHC at. As you can see, if you can run at about 6700 amps you can run at 4 TeV. If you run at 8300 amps then you can run at 5 TeV.

The red and green lines are the keys to reading this plot – they are two different conditions for the state of the copper joints. The LHC machine folks always talk about the worst case scenario (the red line) – but I’m not 100% what the difference between the two is. Lets say you want to run at 5 TeV. Follow the 5 TeV line over from the left of the plot until it hits the red line. You see that it drops down to 58 nOhms. That means all splices have to be less than 58 nOhms in order to run at this energy. The machine is full of these splices. So this is a bunch of work checking these guys!! [listen to the video on the agenda page at about 30 minutes in]. So, one of the things the LHC engineers are doing is measuring all the splice resistances and then putting them up on that plot to see where they are.

BTW, nominal is 10-12 nOhms, and they need to be less than 25 to run at a full 7 TeV (two beams at 7 TeV gives you 14 TeV, the design of the LHC).

LHC News July 3, 2009

Posted by gordonwatts in CERN, LHC.
1 comment so far

Sorry if this is old news…

CERN management recently had a council meeting. These meetings take place between the council and the CERN directory general. Big funding changes, new projects, major schedule changes, a new country wants to join CERN, etc., all have to be approved by this council. As you might imagine the recent council meetings have been dominated by the “schedule changes” (I don’t actually know as a function of time if that is true, but I would imagine).

What is nice about the current CERN DG is that he usually immediately sends a message out to the public and the the CERN folks. Much better than reading about an updated CERN LHC schedule in the Geneva newspaper. Even better, a presentation to all of CERN (and an open webcast) is schedule. The last one just happened (there is a video link and slides link at the top of the agenda, just under the main agenda title).

Everyone is eager for data. I’ve discussed what I think are some of the pressures on the accelerator division previously. This meeting is a continuing part of that conversation.

It is clear they are doing a huge amount of work. They have a lot done. A huge amount. From a physicist’s point of view, the most frustrating thing about Steve Myers’ talk was there is no date and no energy. It wasn’t clear to me what the plan was until someone asked a question at the very end of the talk. Basically – they will have measured the splices (electrical connections) in all of the LHC in early August. Those splices are what caused the disaster last September – so it is important that all of them be carefully measured. And once they have measured everything – then they can start a discussion with the experiments on start up schedule and energy.

Next time something on the trade offs…

Spring in Geneva April 30, 2009

Posted by gordonwatts in CERN, life.
3 comments

I’ve been here in Geneva for almost a week now – and it has been all rain. For the first time today it was really sun, however. I almost missed my first meeting of the day to snap a few pictures of the amazing fields of yellow (click for much larger versions!).

 STA_1269_stitch

And this one for dramatic effect:

IMG_1265

2009. Ready or not January 2, 2009

Posted by gordonwatts in ATLAS, CERN, D0, Fermilab, LHC, politics, science.
4 comments

We’ve made it through the first day of 2009. I have mixed feelings about this coming year.

  • Federal Science Funding Levels. The economy is crashing down around our ears. Business responds quickly (layoffs :( ) – government is a bit slower. If things followed their natural course of action that would mean science funding, along with everything else, will take yet another hit. However, the incoming Obama administration seems to be committed to spending the USA’s way out of this recession, so in the end funding might not change very much. I am hopeful that hard sciences funding will remain at least stable.
  • Federal Science Funding Directions. Climate change is what the Obama administration is focused on. There is a good chance that if you are researching something connected with climate change you may have access to increased funding opportunities. I would expect a funding profile similar to NIH’s funding during its years of increase. I would like to think that funding will spill over into the physical sciences – it should because there are connections between the physical sciences and clean air technologies. All of this is applied scientific research. I hope that the pure research funding gets an increase as well, as an investment in this countries future (particle physics is pure research, of course). I’m feeling neutral here.
  • Federal Science. Obama’s science team is just a BLAST of fresh air when compared to the current administration’s. After all, his DOE nominee is a Nobel prize winning experimental physicist. Even if the science advisor isn’t elevated to a cabinet position (PDF), there will be someone in the room that knows a great deal about science, research, and how it is done. Even if there are cuts to science funding, I’m very hopeful there will be intelligent cuts rather that unscientifically motivated cuts. I’m very hopeful in this respect.
  • State Universities. The economy in states is depressing. Some states, like my own (Washington) that rely on sales tax are being hit hard and very fast. State universities can’t escape that, obviously, and my university is no exception. Unfortunately, this usually translates to reduced raises, inability to counter offers from outside, reduced support for research, etc. In our own department I wouldn’t be surprised if some people left for other universities that, for whatever reason, were able to make good offers in this awful climate. There is, in fact, already evidence this is happening. The only consolation is most universities are in the same boat, and so most of them are having similar problems. I know less about private universities, but I do know the endowments of many of them are also having difficulty. I’m very downbeat about this: it will be a rough two years at least, I think.
  • My Science. When it comes to the Tevatron and the LHC… Well, I see no reason that the Tevatron shouldn’t continue to break records in luminosity (they just broke one earlier this week). And the experiments will continue to be flooded with data. While it is possible for one experiment or the other to have a catastrophic failure, I doubt that will happen. And they should continue to produce papers and science at a furious rate. I also am looking forward to real LHC collision data this year. While I hope it will be at the full 14 TeV, I suspect it is more likely to be at 2 TeV, just a hair above the Tevatron’s luminosity. We’ll hopefully know what the machine scientists think about that sometime in February. I’m really hopeful about this.
  • New Years Resolutions. Well, I made only one. That way I have a hope of keeping it: make bread more often. :-) I think there is a chance that I will keep this one. Especially now that I’ve said it publically. :-)

Of course, this should also be a fun year, as noted by the Beacon News:

Frustrated with their failed attempt to destroy the world in 2008, the scientists at Fermilab and their counterparts at Switzerland’s CERN physics lab resolve to perfect their new device, the Large Planet-Sucking Black-Hole-o-Tron.

Here is to another great year of data collection and science at the Tevatron and first collision data at the LHC!

Will There Be LHC Beam This Year? September 23, 2008

Posted by gordonwatts in CERN, LHC.
7 comments

Well… I wrote this post last night – before the press release that arrived in my email this morning at 10:50am (pacific time) – there will be no beam in the LHC until early spring… I’ll leave the rest of the post below, though I don’t know if it has any value at this point… But I’m too lazy to write a new one!

I’m not privy to inside information (if I was I wouldn’t write this post!). But you can do the following calculation yourself.

The LHC is going to be down for 2 months. That means the machine will be cold and ready to start power up in mid November. The current winter shutdown will probably commence at the end of November. That means only two weeks of time to power the machine up, put beam back in, try collisions (at 900 GeV), sync up the RF system and perhaps try acceleration. 900 GeV, by the way, is the beam injection energy: one doesn’t have to commission the whole acceleration sequence in order to run the LHC at 900 GeV.

Not a lot of time. From the accelerator point of view I’m not sure it makes sense. ATLAS and CMS, as well as others, however, are probably dying for any data they can get their hands on. They have had a taste, but even a week of collisions at 900 GeV would go a long way to helping with the commissioning. That isn’t to say that both experiments won’t have plenty to do during the winter shutdown even if the collisions don’t occur. I believe both will want to open up their detectors and get inside to the parts that are not easily accessible, for example.

Finally, there is politics. Closing out the year without collisions will be “a tough beat”. The newspapers are watching everything we do and they will surely report on this as a disappointment. Scientifically (given the information I have – which is the same that everyone else has and is undoubtedly not complete), it seems like the case for beam this year is on thin ice.

This whole post is based on the premise that the problem that occurred is as the LHC accelerator division expects: something that will take one or two days to fix. If a magnet needs to be swapped out with a spare or something similar to that, then I’d guess we will almost certainly not have beam. We should have the answer to that question as soon as they have a look inside the magnet, which will occur when it is warm in a little less than a month. As CERN has said:

“It’s too early to say whether we’ll still be having collisions this year,” said James Gillies, chief of communications for CERN, in an e-mail message.

The winter shutdown is due to the very high electricity costs in Geneva. I’m used to electricity use spiking in the summer as everyone turns on their A/C. Anyone know what causes the high cost in Geneva during the winter?

Will it really take ATLAS 3 years to see 5 sigma Higgs? August 20, 2008

Posted by gordonwatts in ATLAS, CERN, D0, Fermilab.
15 comments

Probably (for ATLAS new predictions on this should be released in a few months). But in the context of the Tevatron and the LHC Higgs search that isn’t really what is important.

The ATLAS prediction that it might take 3 years to reach the 5 sigma level for a low mass Higgs discovery got a lot of airplay. It got me to thinking. Lets say the two accelerators are in close competition for the Higgs. The Tevatron can really only speak to the 3 sigma level. It isn’t ever going to get to the 5 sigma level. Further, at the Tevatron the CDF and DZERO experiments will have to combine their results to even reach this 3 sigma level. So, I find it highly unlikely that the LHC will sit back and let the Tevatron get away with this. I certainly wouldn’t (and I’m on a LHC experiment). So what to do? Obvious – beat the Tevatron at its own game: combine results from CMS and ATLAS and the 3 sigma level will be obtained much more quickly. At that point the LHC has stolen the thunder from the Tevatron and CMS and ATLAS can now race each other to individual discoveries of the Higgs at the 5 sigma level.

I don’t expect the experiments to combine for the 5 sigma discovery (I could well be wrong, of course – I know of no plans to not do this or to do this!). There are many forces at play that are driving each experiment to make the first paper submission of a 5 sigma signal. This may, indeed, be what gives the Tevatron space to slip in with a 3 sigma evidence paper. And in the grand scheme of things – the Tevatron goes out with a 3 sigma evidence and the LHC with a 5 sigma discovery – that doesn’t seem like a bad “split”. But who has ever heard of the free market working like that!?

As a member of DZERO I want to push as hard as possible to nail a low mass Higgs. As a member of ATLAS, I want the experiment to scramble as fast as possible to get the Higgs – evidence and discovery. After all, that is one of the LHC’s main points.

Play it safe, or… August 17, 2008

Posted by gordonwatts in ATLAS, CERN, D0, Fermilab.
add a comment

There was an unspoken theme at the DZERO workshop this week. Stick with the Tevatron for a huge, but iffy, payoff. Or switch to the LHC now because it is a “sure” bet (as sure as anything gets in research).

This is all about the Standard Model Higgs search at the two accelerators. If such a Higgs does exist the LHC is bound to discover it. The LHC has some “difficulty” at low mass Higgs (below about 125 or so). Difficulty for the LHC means it could take up to 3 years for a single experiment to declare a 5 sigma discovery, the gold standard of “discovery”.

At the Tevatron the Higgs analysis is all about difficulty. Each new Higgs result you hear or read about is a tour-de-force of new techniques and new methods of extracting every last bit of signal out of the experiments. As a graduate student I never remember techniques this sophisticated. And the LHC pre-trial analyses are not as sophisticated either (on the other hand, they don’t need to be).

Global fits to the Standard Model currently predict the Higgs to be low mass – between 114 GeV and 120 or 125 GeV. The Tevatron is currently x2 away from being sensitive to this mass range. By doubling our dataset to 6 fb-1 of data and making a number of improvements to our analyses, we expect that we should be there. These improvements are not easy – it will require a lot of work and a lot of people. Nor are they assured. At best, if the Higgs is there, and we aren’t unlucky, we should be able to see it at the 3 sigma level. But never the 5 sigma discovery level. That will have to be left to the LHC in any case.

So is it worth sticking with the Tevatron? Well… the payoff would be huge to see something at the 3 sigma level. So it is like a lottery with high stakes. The chance of winning is not all that sure, but the jackpot is big!

Me? Well, I’m working on both the LHC and the Tevatron (as are many US physicists). I have a student working on the Higgs search at Fermilab, for example. I’m deeply involved in a number of topics at the LHC as well.

What will happen? Hard to tell. Things to watch? Well, that is easy. There are only two things that really matter here – the performance of the Tevatron and the performance of the LHC. Each physicist who is on both collaborations is performing some complex calculus to optimize their time on the two experiments depending on the chances of success.

I wish us all luck. :-)

Angles and Demons – ATLAS June 5, 2008

Posted by gordonwatts in ATLAS, CERN, photography, physics life.
2 comments

Apparently the ATLAS detector will make an appearance in the film based on Dan Brown’s book Angels and Demons (at least, if the detector scenes aren’t left on the cutting room floor).

Quote from the article:

Anyone at ATLAS who has read the novel is sure to have their own opinions on the author’s particular “creative” take on the laws of physics and his representation of CERN. But, like it or not, CERN plays an important part in the story – as the location from which antimatter is stolen by a secret society intent on creating a bomb to destroy the Vatican.

Right. ’nuff said about the book.

What I thought was very cool was instead of trying to film a scene in the detector – it is almost impossible now as the detector hall is so crowded – they will instead do a 3D model of it and use that. How cool is that? Too bad we can’t do that to all the various bits of equipment that we install and then save them. Sort of the way we currently take digital photographs.

Stammers, who is doing the 3D work for the movie, described the process as follows:

We use these [images] with our own in-house software – an image-based modelling tool – to pinpoint certain areas within each image that are also in other images,” he explains. “From that we can extrapolate a 3D model which is scale accurate, and the photographs can then be used as textures to apply to that model.

This sounds a lot like the PhotoSynth project out of Microsoft Research. I’ve been waiting for someone to make this sort of thing available to someone like me to play around with (read: basically free except for CPU time). While I’m sure I’d never do as high quality job as someone paid for the movies, imagine what you could do with all the detector bits, some of the collision halls, etc.? Now, that would be cool. And then if you could make decent 3D viewing software – what a great outreach project (well, I think it would be cool – no telling what others would think, of course).

LHC On Blogs March 6, 2008

Posted by gordonwatts in CERN, science.
add a comment

The small wheel (sensor array) arrives at CERNLHC has shown up on some blogs in the tech-sector recently. Gizmodo has some fantastic pictures of the ATLAS detector under construction.

Scoble also got a tour of the LHC, led around by Frank Taylor, a prof from MIT I know. Scoble has a huge readership in the world of tech-blogging (one of the “a-list” bloggers).

I like these efforts – inviting non-particle physicists into our field and everything we do takes continuous work. After all, most people don’t live this science day and day out – and when we suddenly show up with a new W mass measurement… well, hard to expect people to get excited out-of-the-box. The only way it works is continuous communication – and these sorts of things are just the ticket.