Previous | Next --- Slide 21 of 81
Back to Lecture Thumbnails
harrymellsop

As per what Kayvon discussed in lecture, one of the key ideas in DSLs that GraphLab is representing stems from this notion that oftentimes compilers are looking too carefully at the fine-grain details to provide large-scale optimisations. When this is the case, sometimes programmers are able to leave out (or at least not make explicit) key pieces of information that would allow a smart compiler to generate huge performance uplifts.

As such, the aforementioned key idea is to enforce the programmer to define simple, often mathematically formulated, core 'ideas' to the compiler, which the compiler then intelligently knows how to stitch together. Instead of allowing the algorithm programmer to specify - on a systems basis, at least - the 'nitty gritty', they instead are able to express relatively high level ideas which the system can then run with. GraphLab is symbolic of this overarching DSL idea.

Please log in to leave a comment.