Shazam: Why cloud GPUs finally make sense(cloudplatform.googleblog.com)
cloudplatform.googleblog.com
Shazam: Why cloud GPUs finally make sense
https://cloudplatform.googleblog.com/2017/05/Shazam-why-cloud-GPUs-finally-make-sense.html
10 comments
This rundown on Shazam's blog is much more in-depth and less 'marketingy':
https://blog.shazam.com/moving-gpus-to-google-cloud-36edb498...
This reads like an advert and doesn't actually explain why cloud GPUs finally make sense.
Is this post correct - or is it just too vague to make sense?
It seems wrong to me that they receive audio-fingerprints and do lookups in a database they host on GPUs. If they have the fingerprint already, why the GPU and not just a key-value store. I.e. AWS DynamoDB with 40.000.000 of 5Kb (250gb) large at 1000 reads/s and 100 writes/s costs less than $500 a month (which is probably comparable to what google cloud can offer). I doubt that you get a whole lot of beefy GPU instance for that price
It sounds more like they use the GPUs to generate the fingerprints
It seems wrong to me that they receive audio-fingerprints and do lookups in a database they host on GPUs. If they have the fingerprint already, why the GPU and not just a key-value store. I.e. AWS DynamoDB with 40.000.000 of 5Kb (250gb) large at 1000 reads/s and 100 writes/s costs less than $500 a month (which is probably comparable to what google cloud can offer). I doubt that you get a whole lot of beefy GPU instance for that price
It sounds more like they use the GPUs to generate the fingerprints
> If they have the fingerprint already, why the GPU and not just a key-value store.
They do not recieve a fingerprint from a client, just an audio snippet. A fingerprint for the audio snippet will need to be calculated on the GPU (probably via some FFT operation) and then matched against a db. It's probably much faster to do the db matching within GPU memory instead of shuffling fingerprint values to the CPU first (extra cycles) and doing another operation to extract a match from a key-value store (extra network calls).
They do not recieve a fingerprint from a client, just an audio snippet. A fingerprint for the audio snippet will need to be calculated on the GPU (probably via some FFT operation) and then matched against a db. It's probably much faster to do the db matching within GPU memory instead of shuffling fingerprint values to the CPU first (extra cycles) and doing another operation to extract a match from a key-value store (extra network calls).
Some phones must be powerful enough to process the audio.
Yeah, pretty much all phones these days have relatively powerful GPUs. However the GPGPU situation is not awesome?? IIRC RenderScript is way more limited than OpenCL…
Though it seems that what they're doing is matching against the database on their GPUs, can't do that on the phone without downloading their huge proprietary dataset :D
Though it seems that what they're doing is matching against the database on their GPUs, can't do that on the phone without downloading their huge proprietary dataset :D
Bet they got a good discount in return for that
The article seems like a dishonest paid for review. I flagged it for that reason.
The article is on the Google Cloud Platform Blog. What would you except, an honest and unbiased review?
Good luck with that. I've been flagging these kind of PR "think pieces" to not much result.