5 ms·
Companies aren't going to sacrifice millions of dollars to encourage development of new parallel programming techniques. Developers barely know what to do with
by Scaevolus 12y ago
Companies aren't going to sacrifice millions of dollars to encourage development of new parallel programming techniques.
Developers barely know what to do with 4 cores, especially on mobile. The usual outcome is that foreground apps use a core, maybe two if they have async rendering, and background apps can run as well.
Mobile OpenCL is the closest we'll come to massively parallel programming in people's pockets for the foreseeable future.
- madez 12y agoIt seems like you are ignorant about Servo. "We are still evaluating plans to ship Servo as a standalone product, and are focusing on the mobile and embedded spaces rather than a full desktop browser experience in the next two years." https://github.com/servo/servo/wiki/Roadmap https://github.com/servo/servo/wiki/Roadmap
- wmf 12y agoImagine how much it cost to develop Servo. Now imagine rewriting every mobile app from scratch using the lessons learned from Servo. The cost would be astronomical, and for what? Incrementally better battery life?
- gue5t 12y agoMost mobile apps are native GUI wrappers around ffmpeg, some http library, and maybe WebKit or Blink. The high-level coördination will remain relatively unchanged as the underlying GUI, media, network, and web libraries push up against Amdahl's law.
- pcwalton 12y agoAnd don't forget the king of multicore-scalable APIs: OpenGL. The reason why GPU manufacturers have been able to scale so well by adding more cores is that GLSL provides a programming model that scales broadly to (more or less) any number of cores, and applications are written to that model. This allows applications to run unmodified on new hardware with more cores and see speedups.
- pcwalton 12y ago> Now imagine rewriting every mobile app from scratch using the lessons learned from Servo. You just rewrite the popular libraries and game engines. Then lots of applications start to achieve parallel speedups. The point of Servo is in fact to achieve just that—don't forget that a browser is not just an application but a platform, running applications that happen to be written in (up-to-now) essentially-single-threaded JavaScript, HTML, and CSS. But as a specification, CSS and HTML (especially CSS) are in fact quite surprisingly parallelizable, and our tests have shown that existing apps get great speedups unmodified in Servo. Taking the underlying framework and parallelizing it is an effective technique to take what were previously single-threaded applications and making them parallel. In fact, in a sense that's what superscalar CPUs have already been doing for decades.