goldb.org home

AS OF MAY 2008, THIS BLOG IS NO LONGER BEING UPDATED.
Visit the new blog at: http://coreygoldberg.blogspot.com



 Thursday, January 25, 2007

Performance Acronym: RASP

RASP:

Reliability. Availability. Scalability. Performance.

System performance has been one of my main interests since I got into computing.  My first memories of this go back to my DOS 5.0 days ('92?).  I would obsessively optimize my beige-box x86 desktop... staying up all night tweaking my config.sys and running fractals.  (anyone remember all the fiddling with device drivers and Terminate and Stay Resident programs to load them into Upper Memory Blocks, so you can free up conventional memory?)  That obsession grew as I gained more knowledge and eventually led me into testing/tuning large distributed systems, which I have essentially focused on professionally for the past 9 years  (hey, my job title even includes "Performance Engineer").

anyway,

I just wanted to re-introduce the acronym RASP.  In the performance world, there is a lack of standard vocabulary.  There is enough shared terminology to have intelligent conversations and get engineering problems solved, but the terms used vary pretty widely from company to company and region to region.. much more so than pure development or admin language.  So sharing vocabulary is a good thing, to further push performance as its own discipline.  

I first heard the acronym "RASP" from Goranka Bjedov, a performance engineer at Google (shown here in her excellent tech-talk Using Open Source Tools for Performance Testing), during discussions at WOPR6.  She said it was an old Bell Labs term used in telco.  

RASP encapsulates all things related to system performance into a nice logical taxonomy.

Reliability
Availability
Scalability
Performance

For some reason RASP has really stuck in my head... just passing the word.

#    Comments [2] |
Wednesday, January 31, 2007 1:09:03 PM (Eastern Standard Time, UTC-05:00)
Hi Corey -

(Ah, UMBs and TSRs - and the delights of endless runs of memmaker... :-) You're making me sentimental...)

You mention that in the performance world there is a lack of a standard vocabulary - this is true, but I find a worse pitfall is a lack of standard definitions. I've had conversations with colleagues on the topic of performance testing in which we discuss 'load', 'stress' and 'volume' - and only halfway through the conversation does it become clear that each participant has a different definition in their head for what these terms mean.

I find it essential to clearly define performance testing terms in every document that I write - this is the only way to ensure consistency and allow realistic expectation-setting.

For example, in the acronym RASP, what does 'performance' actually mean? By itself, it's only an aspiration, and not measurable. Expressed in transactions per second or some other metric, it is a goal against which success can be measured.

regards
Ben
Ben Klaasen
Wednesday, January 31, 2007 1:43:48 PM (Eastern Standard Time, UTC-05:00)
Ben.. good points

> but I find a worse pitfall is a lack of standard definitions. I've had conversations
> with colleagues on the topic of performance testing in which we discuss 'load',
> 'stress' and 'volume' - and only halfway through the conversation does it become
> clear that each participant has a different definition in their head for what these
> terms mean.

That is sorta where I was going with that post. One person's "stress" definition is another person's "load" definition.

> For example, in the acronym RASP, what does 'performance' actually mean?
> By itself, it's only an aspiration, and not measurable. Expressed in transactions
> per second or some other metric, it is a goal against which success can be measured.

well.. RASP is a way to look at goals.. it is a simple high level taxonomy. The only problem with defining a standard definition of "Performance", is that there isn't one. It depends on the type of system you are working on and using the correct metric for that context.

So I fully agree that "Performance" is not a measurable quantity. It is made up of various metrics that in themselves are measurable, but you must decide which metrcis are appropriate (latency? throughput? health?).


Comments are closed.