How About That

Dear Olga, Chris, Bruce, Paul and Jan,

We have now completed the reviewing stage over 209 papers for ECCB/JBI 2005. We are delighted to tell you that your long paper, entitled:

“Reconsidering Complete Search Algorithms for Protein Backbone NMR Assignment”

has been provisionally accepted for ECCB/JBI 2005.

For those of you keeping score at home, this is a paper talking about the project I was working on last summer.

Squeezing out more performance

Vitek and I talked about an idea he had to make the exhaustive search in MBA a bit more efficient. Basically, it involves the program being able to remember things it’s tried before, and not bother trying them again if it knows it won’t work. As a result, you can eliminate consideration of lots of sets of constraints right away. While each one wouldn’t have taken long to evaluate, being able to skip over dozens of a time should still be a win.

Actually, the idea was pretty similar to one I had been kicking around before leaving for vacation two weeks ago, but the approach I had had in mind wouldn’t have worked. Vitek’s is the same basic idea, but done in a way that shrinks the search space too aggressively. Early tests suggest it could produce a noticeable speedup in execution time, which is always good, and should work especially well for the nastier data sets.

Read the rest of this entry »

Comments Off

I’m awesome and I didn’t even realize it

So this week I was playing around with MBA, working on some experimental code to perform a stochastic search over the solution space instead of an exhaustive search. The plan was to Somehow choose to fix the number of missings in certain ranges in the protein at each iteration based on the results of the previous iteration. Not wanting to rush into this without some idea of what would make a good Somehow, I threw together a quick-and-dirty exhaustive search that used the same constraints mechanism that stochastic search would.

Guess what.

Read the rest of this entry »

It only works if it works

The only tangentially relevant intro: it turns out there’s a web page for the project I’m getting paid to work on. I don’t know how much of my code is in the tarball up for download, though; whether or not it is, I know for a fact it isn’t documented. (The license is BSD-ish, so go nuts.)

Read the rest of this entry »

Comments Off


Remember Fgf?

It works.

Read the rest of this entry »

Bored at Work

Not much going on today in the lab. Right now there’s not really much more I can do with the code until I get the results of some test runs that are going. Seeing as how the original run of Fgf took over five days to finish on a pretty beefy machine, I’m not holding my breath for it to finish anytime soon on the makeshift cluster of six halfway-decent machines. I would be shocked if it finished before I come in tomorrow morning.

Read the rest of this entry »

Dear Simulated Protein 5507

I will admit, you have been a worthy adversary. You’ve managed to foil my efforts to get this program to process you for over a week. Your voracious appetite for memory has forced me to go though the heart of the code, line by line, nulling out unneeded references so the garbage collector can do its job. You’ve exposed inherent flaws in my memory reclamation thread. And you’ve been sneaky about it, letting the program chug along for hours before bringing it to its knees, sending the computational servers into death throes as they used up the last few bytes of heap space.

But your days are numbered.

Read the rest of this entry »

1335 Program

Yep, it’s one of those “here’s a bunch of random bits that don’t warrant their own posts” posts.

And by “bunch,” I mean “two and a third.”

Read the rest of this entry »

Java Programming Tip

1 GB of heap + 95% live data + frequent allocations = performance nightmare

Trust me on this.

Distributed Programming is Tricky

The story of how a seemingly obvious assumption can cause a program’s behavior to spiral out of control.

Read the rest of this entry »

Comments Off

The Moving Trilogy: Part 1

In which our hero moves between computational resources!

Read the rest of this entry »

Comments Off