[MUSIC PLAYING]
CARTER MORGAN: Welcome to another episode
of "VME End to End," a show where you have someone that's
a little skeptical of VMs and someone that's
a little more enthusiastic about them on the show
to hash out all things VM.
Brian, thanks so much for being here today.
I've got a tricky one for you.
BRIAN DORSEY: OK, let's go.
CARTER MORGAN: Yeah.
Yeah, I want to know about cutting edge technology,
like really pushing cloud compute machines to the limit.
I think this is going to be one that's going to trip us up.
BRIAN DORSEY: I have the perfect person for us
to bring in and talk to you about this.
I would like to introduce Emma.
Welcome, Emma.
EMMA HARUKA IWAO: Hi.
Thank you for having me today.
CARTER MORGAN: Yeah, so happy to be able to talk with you.
If I'm not mistaken, you made an amazing world record
breaking pi calculator using Google Cloud and Compute, yes?
EMMA HARUKA IWAO: Yes, it was in 2019.
So it's a little bit old.
But it was a world record.
CARTER MORGAN: Yes, can we get an overview of that
project a little bit.
What was it?
EMMA HARUKA IWAO: Sure, so there are competitions around pi.
The number begins with 3.14 and people
try to calculate as many digits as possible.
And world record we did was three--
no, 31.4 trillion digits on Google Cloud, using 25 machines
and spending 121 days and 100 terabytes of storage.
And we did that.
BRIAN DORSEY: But this scale is why I wanted to invite Emma in,
because there's not a lot of people that have run machines
full on for four months straight,
and I think more interestingly, kind of worked through where
the bottlenecks are in a system when you try to do that.
Where were the bottlenecks in this process?
EMMA HARUKA IWAO: Sure, so the bottleneck was the storage.
So in order to calculate pi, you need a lot
of storage, 107 terabytes.
But the amount you read and write is enormous.
We wrote about nine petabytes, I'm sorry,
eight petabytes and read nine petabytes.
A petabyte is 1,000 terabytes.
So it's approximately 17,000 terabytes
of data you need to process.
And the storage I/O was the biggest bottleneck.
CARTER MORGAN: This is one-- this
is mind breaking to me, because I would not
expect Cloud Compute to be able to handle that.
Like that was my assumption coming into this.
Was this one of the first projects of its type
to do this, or is this like commonplace in the cloud?
EMMA HARUKA IWAO: I think it's getting more and more common
these days.
A lot of people just run high performance computing,
these type of massive workloads on cloud.
CARTER MORGAN: So then, my question
would be, what are some of the advantages of doing
this in the cloud?
Because if I did this on prem, I kind of understand
what that looks like a little bit.
I'd buy a lot of my machines up front.
I would try and work through it from there.
How does it look like for the cloud?
EMMA HARUKA IWAO: So I think the coolest part of using cloud
is you don't need to choose which machine
or which architecture to use up front.
So, for example, if you're buying a physical machine
you actually need to decide how many cores you're
getting, how much storage you're assigning
to that machine, et cetera, et cetera.
But with the cloud, you can always try and test
different parameters.
For example, do I need 100 gigabytes
of memory or 200 gigabytes?
Or do I need 64 cores, 128 cores?
You can try and test these parameters
in the real environment.
BRIAN DORSEY: So you basically do small versions of it
and kind of see how much work you
get for a certain amount of time and money,
and see how that turns out?
CARTER MORGAN: Wow, this is really cool.
Something I'm really curious about
is, OK, you said this was in 2019
and it's not the new record now, or whatever.
But what would be different if you were coding the same thing?
Say you were trying to do 32 trillion digits of pi again.
What would change if you took that same code base now
and just, I don't know, could you
update it for some of the compute technology now,
or what?
EMMA HARUKA IWAO: Yeah, so with cloud
you can just change the parameters
and use the latest CPUs and machines we have today.
For example, we have the latest Intel and AMD processors.
We have more memory per machine.
For example, the biggest machine we have
is 11 terabytes of memory.
And we have newer persistent disk types
that achieve lower cost and higher throughput.
And we have increased the network bandwidth
from 16 gigabits per second to 100 gigabits per second.
So by using all of these, I think
we can probably finish the calculation in a quarter
of the time we did in 2019.
BRIAN DORSEY: OK, there's a kind of a saying, time is money.
And at some level that's just even more true in cloud, right?
So if you make something faster it costs less to run.
So that's a big deal.
CARTER MORGAN: Can we actually talk about that a little bit?
What was like, say, the cost of this in 2019?
And then you said it's four times faster?
What would the cost of it look like now, just estimates?
EMMA HARUKA IWAO: Sure, so if you don't work for Google,
you'd probably pay a lot for this project.
And it was about $300,000 to calculate pi,
if you paid the money, as an external customer.
And you get half the storage for half the price
today, achieve the same bandwidth.
So that cut the cost about 30%, because the biggest cost
was the storage.
And we had the faster processor.
We can use the Intel Ice Lake Xeon processors.
And we have increased the network bandwidth.
So in combined, it took about four months
to finish the calculation.
I think we can do something between a month or probably
40-50 days.
So you pay less part time.
Like you pay less per hour, and you finish the calculation
faster.
So by combining all of these factors,
I think it's safe to say we'd pay much, much less today.
BRIAN DORSEY: That's awesome.
So like same project over time gets cheaper and cheaper.
That seems like a win.
But it seems like you also did a lot of-- you know,
like there's a lot of variations for how things could be done.
You talked about running experiments, basically.
If people wanted to run their own experiments
on their own software, how would you
recommend they approach that?
EMMA HARUKA IWAO: Sure, so there are
tons of configurations and variables in cloud,
and probably with your software you want to run in cloud.
And, of course, you can automate some of the aspects
for your software.
And there is a tool to automate that for cloud as well.
It's called Infrastructure as a Code.
And we use tools like Terraform and Pulumi
to actually write down all the configuration parameters
as a script, and run it.
And the coolest part is you can automate the deployment
and provisioning process.
So for example, if you want to test with different CPU cores
like 2, 4, 8, 16, 32, 64, then you just
need to write a for loop and run the script again and again,
and invoke the software, and run the test for all
the combinations.
And that's what you can do with the cloud.
CARTER MORGAN: Wow.
Yeah, like I can totally see, again, I'm
still a little skeptical.
I'm blown away that this is possible.
But I see the benefit of being able to just say
let me try out all these different configurations
for my workload.
And so I'm curious, what are some other things that you
think are pretty cool about this type of hardware, that might
not be obvious to someone like me who
doesn't do this kind of stuff as deeply as you do?
EMMA HARUKA IWAO: Right, it's good.
You may think, hey, I can get the same hardware
from a hardware store or hardware vendor.
But it's actually not-- well, it's complicated,
because you buy hardware, right?
You buy a new machine and you use it for three, four years,
right?
You don't need, you don't buy a new server every month.
With the cloud, you just need to shut down the machine,
change the configuration, and reboot.
And then you get access to the latest hardware
without paying any upfront cost.
So if you want to, say, use the latest Xeon processor, or SSD,
or NVMe, or AMD Milan, then you just
need to change the configuration.
And then you keep all the data, all the configurations,
and just get the latest hardware for like free,
without any upfront cost.
So I think that's pretty cool.
Like you can actually use the latest hardware
anytime on cloud.
And actually cloud is one of the first,
earliest places to support such, like,
latest generations of hardware.
CARTER MORGAN: Oh, man, that killed my argument,
because I was just going to be like, well,
why don't I just buy the newest technology?
But a lot of times it doesn't roll out as fast
like as it would to the cloud.
BRIAN DORSEY: And you mentioned the networking
got a lot faster?
EMMA HARUKA IWAO: Yeah, so network is faster.
Obviously, you have the ethernet and the switch
and on top of rack switch and the whole back end.
And I think the cool part of cloud
is you don't need to think about the actual fabric.
So we support 100 gigabits per second for network.
And each machine can actually communicate
to another machine with 100 gigabits per second,
regardless of their physical position.
So like when you're actually designing a physical data
center, you actually need to think of those top rack
bandwidth and how you distribute workloads,
so you get the full bandwidth for each machine.
But with cloud, we design the network in a way
that each machine can actually achieve the full bisection
of bandwidth.
BRIAN DORSEY: OK, so that's a whole thing,
like from an architecture and planning standpoint,
you just don't even have to worry about it, think about it.
CARTER MORGAN: This is so interesting to me.
One thing I'm curious about is if you
were going to do a project like this in the future,
like if you were going to try and go for another record
or something like that, would you still use cloud computers,
or do you think you might switch over and use something on prem,
something more dedicated?
EMMA HARUKA IWAO: I, because I work for cloud,
I would use, obviously, there are obviously pros and cons.
For example, if you want to use a specific hardware set
or specific, for example, if you want
to test a specific piece of hardware,
then you might need to still get access
to that specialty equipment.
But for like, I think, I would say
99% of the workload in the world,
you can just launch a machine in cloud.
And because you don't know which machine to buy before actually
getting the machine.
So for on premise hardware, you kind of do the guesswork.
And I think this hardware with this number of cores
and this much memory sufficiently big enough,
and not too big, but in sometimes use,
like you don't have enough memory,
or you don't have enough storage,
or you may need to add some cores.
You never know.
And with the cloud you can just test everything, right?
And you can always change the configuration.
You can always add new hardware.
And, yeah, so you don't need to choose and invest
at the beginning.
You just change and adapt along the way.
BRIAN DORSEY: This is a really interesting angle
on, people often say, if you're kind of doing a batch workload,
then maybe that's not the sweet spot.
But there's this up-front like testing side of it,
where you're being more scientific
and you're trying to figure out what kind of computer
or what kind of arrangements of the computers.
And you can do all of those tests
in really short durations, which makes
them affordable to do a wide variety of them on cloud.
Thank you.
I'm in the middle of this and that's an angle on this
that I hadn't been thinking of.
So I appreciate that.
CARTER MORGAN: Yeah.
Yo, Emma, thank you so much for coming in and sharing
what you've been working on and the way you're
able to push the cloud, you know, cloud compute instances
to the extreme.
There's a lot that I didn't think
was possible or didn't know was possible.
And I hate to admit this, Brian, the more we talk,
the more I start thinking cloud computing makes a lot of sense.
BRIAN DORSEY: Imagine.
CARTER MORGAN: Well, yeah, that's it for this episode.
Emma, thank you.
And if you're watching at home, definitely
let us know of anything that was surprising to you.
We definitely check out all the comments.
And stay tuned for next episode, because it's a special one.
I don't know what's in store, but Brian said I can't miss it.
BRIAN DORSEY: Oh, we do.
It's going to be awesome.
And, yeah, so please hang in there.
Check it out.
And if you're living in the future already,
just hit Next on the playlist and join us.
It'll be fun.
[MUSIC PLAYING]