Older blog entries for echristo (starting at number 16)

Dumb ideas...

Ever had one of those dumb ideas that you start thinking about and go "hey, this just might work - and not suck too much"?

Yeah. Me too. This could be entertaining. (Stack slot indeed...)

Syndicated 2007-12-01 00:47:00 (Updated 2007-12-01 00:48:44) from eric

Lots of talks lately...

One on more effective use of gcc, a pair of tutorials on how to use OpenMP and tonight's effort of a brief tutorial and explanation of autotools. If anyone is interested in my slides or pdfs send me email and I'll forward on a copy. I suppose I should make them available somewhere.

Tom and Ian both made posts on them recently - amazingly good timing for me. I agree that a new solution needs to happen, most of autoconf is a pain, takes too long, and is too hard for most people to maintain. I like automake, but am also sympathetic to wanting something new there too. I did look at cmake as someone mentioned in a comment to Ian, but didn't really have time to get into it.

I've been working on some moderately interesting stuff at work, but can't really post about it yet. Hopefully soon though, not very gcc related unfortunately though.

Syndicated 2007-11-27 09:24:00 (Updated 2007-11-27 09:32:32) from eric

More pointers to other people's blogs...

I seem to be doing that these days, but I just ran across this thanks to ncm and found it to be great:

Developing for Developers.

Ran across it because of the "cache-oblivious data structures" post, stayed for dessert.

Update: Fixed cnp.

Syndicated 2007-09-11 09:13:00 (Updated 2007-09-11 09:24:15) from eric

guess i'm really an employee now

Got cut off by SJ on my way up to the rink today...

Syndicated 2007-08-29 06:55:00 (Updated 2007-08-29 06:56:07) from eric

Not much of a post

But I thought I'd mention that Ian is writing a series of posts on writing a new linker. The first post is here.

Syndicated 2007-08-23 17:24:00 (Updated 2007-08-23 17:28:00) from eric

some thoughts on transactional memory

Intel has been around the office lately to talk to us about transactional memory and the panacea that it's going to be. Like any silver bullet, it's only effective against werewolves - and fortunately (or unfortunately) there aren't any werewolves attacking me at the office.

Transactional Memory (or TM) is a process by which multiple processes/threads update shared memory within a 'transaction' similar to a commit by a RDBMS. A transaction will only commit if all updates to memory complete successfully without conflicts. In the case of a conflict we roll back execution to where we started.

To give TM a little bit of credit though, it does solve a certain set of problems in concurrent programming. Basically TM allows the programmer to minimize the amount of time they worry about getting locks, freeing locks, and probably more importantly debugging why there's a deadlock in the program when something happens with a lock. We call this the SPOD problem at work - "Spinning Pizza of Death". This will make sense to those of you who own a Mac.

Of course, right now TM is mostly an exercise left to the student (from "The Landscape of Parallel Computing Research: A View From Berkeley"):

Transactional memory is a promising but still active research area. Current software-only schemes have high execution time overheads, while hardware-only schemes either lack facilities required for general language support or require very complex hardware. Some form of hybrid hardware-software scheme is likely to emerge, though more practical experience with the use of transactional memory is required before even the functional requirements for such a scheme are well understood.

Nothing comes without a cost though, some estimates of STM implementations have them incurring a 40-50 percent overhead compared with locking based programming. STM also incurs an additional performance hit if it has to guarantee interoperation between TM code and other code.

The future, I think, holds a couple of directions that will need to go in umm... parallel. We'll need things like transactional memory to deal with things at a low level. We'll also need to do better than source level markup of existing languages to fully take advantage of many core programming. For example, TM is well suited for applications that want to use mutexes or shared memory. We'll need a better way of representing producer/consumer models where message passing is better suited. All in all an interesting time.

Syndicated 2007-03-18 06:57:00 (Updated 2007-03-18 06:58:30) from eric

std experiences

Had a chance to work with a coworker (Howard Hinnant) lately on a language standardization issue, in this case std::thread:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2184.html

It was quite an interesting experience. I found that mostly reading and learning how other people are approaching the various issues was the way this time. I'm glad to have been able to listen in as everyone discussed how the proposal should work. I did make a few contributions that seem to have been appreciated so I look forward to things in the future.

All in all I think Howard's proposal shaped up quite nicely and will be useful as we start to approach concurrency issues in more current use languages in the future.

Syndicated 2007-03-18 06:41:00 (Updated 2007-03-18 06:51:47) from eric

worth reading

Blog that I found somewhere through a link to a link to a link or something:

Rands In Repose

turns out he's a coworker (one of the 15,000 or so), and never met him in person.

Still, lots of interesting reads there.

Syndicated 2007-01-31 03:15:00 (Updated 2007-01-31 03:18:47) from eric

Lots of gcc work going on...

No, not much by me lately outside of darwin maintenance for Apple, but some interesting stuff anyhow:

Mem-SSA: Diego's work here is finally merged with mainline

Dataflow branch: Kenny Zadeck's work along with a cast of others (Daniel Berlin, Seongbae Park, Codesourcery)

gimple-tuples, out-of-ssa: memory savings, speed ups clean ups done by Aldy and Andrew

IPA: Jan is merging the IPA branch stuff

autovectorization: as always... the group in haifa is doing great work here

loop optimizations: zdenek's work here rewriting things

and more coming... I'll see if I can write information up on each of these.

Syndicated 2006-12-23 20:42:00 (Updated 2006-12-23 20:41:45) from eric

verdict in the tripoli 6 trial

Today a Libyan court condemned five Bulgarian nurses and a Palestinian doctor to death even after the scientific evidence has pointed to their innocence. There is the possiblity that it's a great extortion plot as Bulgaria was asked to provide reparations - but even so once again the barbarians have won a battle on science.

Syndicated 2006-12-19 18:03:00 (Updated 2006-12-19 18:11:04) from eric

7 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!