# [Beowulf] How does one calculate the scalability of one's code?

Chris Oubre chris_oubre at hotmail.com
Wed Jun 9 09:24:13 PDT 2004

```Hello,
My name is Chris Oubre.  I am a physics graduate student at Rice
University studying Maxwell's equations using a Finite Difference Time
Domain code.  I am trying to calculate the scalability of my code two ways

1) Fixed job size

For Fixed job size, I can use Amdahl's law S = N/ (b * N + (1-b)) and fit
the curve to find b ( the % of code that is serial)

Or I could use the Gustafson-Baris Law S = N - b(N - 1) and likewise fit to
find b

For fixed load size, I want to see how the algorithm behaves if I make the
jobs larger and increase the number of nodes to keep the job size constant.
Since I am using a 3D code, I double the job size and increase the number of
nodes by a factor of 8

I would expect that if the code scaled perfectly, they would execute in the
same amount of time.  I observe that the algorithm takes 1.6 times as long.
How do I report this?  What does this number tell me generally about the
scalability of my code?  Do I need to calculate something else?

To make the number more clear
Run1 Specs
Grid Size: 100 x 100 x 100
Nodes: 4
Time: 605 seconds

Run2 Specs
Grid Size: 200 x 200 x 200
Nodes: 32
Time: 944 seconds

So Run2 took ~ 1.6 times as long as Run1

Thank you for all of you help.

****************************************************
Christopher D. Oubre                               *
email: chris_oubre at hotmail.com                     *
research: http://cmt.rice.edu/~coubre              *
Web: http://www.angelfire.com/la2/oubre            *
Hangout: http://pub44.ezboard.com/bsouthterrebonne *
Phone:(713)348-2506  Fax:   (713)348-4150          *
Rice University                                    *
Department of Physics, M.S. 61                     *
6100 Main St.                       ^-^            *
Houston, Tx  77251-1892, USA       (O O)           *
-= Phlax=-                         ( v )           *
************************************m*m*************

```