back to article Facebook's monster PHP engine ready to muscle into ARM server chips

Facebook has taken further steps in its quest to run production workloads on ARM-powered servers. The smoking gun for this dramatic shift was a post by Facebook on the Hip Hop Virtual Machine blog on Thursday that indicated the team is implementing ARM processor support in its translation engine, which turns Facebook's PHP …

COMMENTS

This topic is closed for new posts.
  1. Hi Wreck

    Intel

    Better be worried

    1. Anonymous Coward
      Anonymous Coward

      Re: Intel

      And it's only the beginning. Seeing how, for identical processing power, ARM chips are cheaper and incomparably less power hungry, Intel better be worried indeed.

      The main thing that is holding ARM back right now IMHO is software support (even an extremely versatile system like Linux isn't 100% ready for ARM, even though it's quite close and perfectly usable for most applications). But that's just a matter of time.

      1. Ian 55

        Re: Intel

        If you want to talk about processing power per Watt or dollar, fine. What ARM chip can match a decent current x86 processor for raw processing power though?

        ARM chips are remarkable, but they've much less raw power.

        1. Anonymous Coward
          Anonymous Coward

          Re: Intel

          ARM chips are remarkable, but they've much less raw power.

          I suspect that the lower maximum throughput of a typical ARM chip isn't a big deal to someone like Google or Facebook. They are probably more interested in the higher efficiency and ability of ARM chips to idle with much lower power consumption than your typical x86 server CPU. They have huge amounts of server capacity to cope with peak demand, but there will be long periods where much of this is sitting idle. With x86, that's still slurping up huge amounts of power as they don't ldle very efficiently. ARM CPUs and chipsets are already implemented with this in mind.

          Of course, Intel or AMD could get their acts together and come up with better CPUs and chipsets for this kind of thing, but going to ARM means companies like Facebook and Google have more likelihood of getting better value from a wider range of ARM licensees.

          1. Anonymous Coward
            Anonymous Coward

            Re: Intel

            While ARM chips are lower power, Intel is catching up. and they have smaller processes and a huge engineering staff to throw at the process.

            However, i suspect one of the reasons ARM is so attractive to Facebook is that you can roll your own, including rolling dedicated feature processors, SSH processors, dedicated hardware for loops that run a lot, dedicated fast comms links to backend databases (Possibly on the same board or all on one chip)

            Basically, customising the chip to most efficiently run *their* workload. Thats just not something you can currently do with X86.

            Raw power consumption is only really one part of the puzzle.

    2. Anonymous Coward
      Anonymous Coward

      Re: Intel

      So they should be. Microsoft and Intel have been ripping people off for decades.

    3. asdf

      Re: Intel

      Yeah ARM buddy! Don't know why but a bit of an ARM fanboi. I like the plucky upstart taking on Chipzilla even if Intel has more money than God. Kind of bad considering Intel has one of their biggest fabs in my city. Still neither company is going anywhere for the time being. Also +1 for the conversation dissing PHP below lol.

  2. Mikel

    Volume

    At the volume these guys buy chips, rolling your own starts to make sense. Especially since they own their whole software stack as well. Figure in power and cooling, compute density, and it's a slam dunk.

  3. Anonymous Coward
    Anonymous Coward

    PHP?

    "help us port the world’s best PHP run-time on servers based on ARM processor"

    Moving from Intel to ARM makes perfect sense, but doing anything with PHP is total madness.

    1. Anonymous Coward
      Anonymous Coward

      Re: PHP?

      It sounds like what they're using is some sort of PHP compiler, otherwise there would be no "porting" involved.

    2. A Non e-mouse Silver badge

      Re: PHP?

      doing anything with PHP is total madness

      You can write bad code in any language.

      Facebook use a heavily customised version of PHP, plus strong internal policies on PHP language usage. From

      www.zdnet.com/blog/facebook/why-facebook-hasnt-ditched-php/9536

      "Facebook's engineers have managed to work around many of its flaws through a combination of patches at all levels of the stack and excellent internal discipline via code convention and style - the worst attributes of the language are avoided and coding style is rigidly enforced through a fairly tight culture of code review "

      1. Anonymous Coward
        Anonymous Coward

        @A Non e-mouse

        You can write bad code in any language.

        While I fully agree with your whole post in general and this statement in particular, let's not kid ourselves either: PHP makes it a lot easier than many other languages to write bad code.

        Mainly because of its inconsistent API, I think, which can be very well designed in some areas but absolutely horrendous in other areas, so PHP developers have no real "role model" to follow and incredible mess often ensues.

        But yeah, when used correctly it's a quite a good tool. Sticking with the spirit of that quote of yours: "there are no bad languages, there are only bad programmers".

        1. smartypants

          PHP: Steadily improved over the years and no longer embarassing!

          Though there are some annoying little areas that remain, PHP has really grown up in recent years, and it's quite straightforward to engineer a high-performing well-built unit-tested object-oriented system with it, and there are a large number of projects which make doing such a thing a breeze these days (which wasn't always the case).

          Sure, it's easy to build a buggy, inefficient piece of crap in PHP, but I can do that easily with Java or C++ too. PHP isn't suitable for all use-cases, but it fits very well in a wide variety of them.

          The only real problem is that my '4' key is very worn.

    3. This post has been deleted by its author

    4. Anonymous Coward
      Anonymous Coward

      Re: PHP?

      doing anything with PHP is total madness.

      I loath PHP, but Facebook did the right thing by writing their own implementation. They took a subset of the PHP language and libraries, cleaning up a lot of the inconsistencies along the way. The downside is that people point to Facebook as a justification for using PHP but are unaware of what they had to do to turn it into a decent framework while the default implementation remains a festering heap of dog doo.

  4. Ken Luskin

    AMD’s 64-bit “Seattle” ARM processor brings best of breed hardware and software to the data center

    >>>” According to Feldman, web giants are looking at co-developing ARM-based chips that will take advantage of the greater levels of customization offered outside of the CPU so they can optimize for their own applications’ needs.”<<<

    Feldman's comment about 3 years from NOW, if Google starts today, are an indication that IF Google wants its own semi-custom chips sooner, they should partner with AMD.

    AMD’s 64-bit “Seattle” ARM processor brings best of breed hardware and software to the data center

    http://community.amd.com/commu...

    Why do you suppose that code name is "Seattle"?

    What huge innovative cloud company is in Seattle? AMAZON!

    Amazon's James Hamilton: Why Innovation Wins

    AMD SeaMicro

    http://www.youtube.com/watch?v...

    Redmond is very close to Seattle… Does MSFT like that Intel has a monopoly on server chips?

    1. Anonymous Coward
      Anonymous Coward

      Re: AMD’s 64-bit “Seattle” ARM processor brings best of breed hardware and software to the data ce

      Ahem. You might want to past full URLs next time, not just abbreviated ones.

      1. Ken Luskin

        Re: AMD’s 64-bit “Seattle” ARM processor brings best of breed hardware and software to the data ce

        I don't know why the URLs became abbreviated.

        Here they are:

        AMD’s 64-bit “Seattle” ARM processor brings best of breed hardware and software to the data center

        http://community.amd.com/community/amd-blogs/amd-business/blog/2013/12/12/amd-s-64-bit-seattle-arm-processor-brings-best-of-breed-hardware-and-software-to-the-datacenter

        Amazon's James Hamilton: Why Innovation Wins

        AMD SeaMicro AMD SeaMicro

        http://www.youtube.com/watch?v=BOYdKht1YwE

  5. mafoo
    Coat

    Only one question...

    Is it optimised for my raspberry pi?

    1. Tom 7

      Re: Only one question...

      Perhaps not yet as the pi is 32 bit but, depending on which license farcebook has chosen for their php they may give some info back. Having said that I'd managed to run some quite hefty stuff in php on the pi and it was the DB that was the bottleneck.

  6. batfastad
    Thumb Up

    Impressive

    As much as it's fashionable to bash Facebook their engineering teams do an impressive job.

    The HopHop compiler is a great concept. Taking an interpreted language and boiling it down to C bytecode... that will make your application hugely performant. I spend most of my time wrangling Java applications that need 32GB+ memory just to service 500 concurrent users. They are working on the HHVM to make it more compatible with general PHP applications and frameworks. Then the work on the FB patch for MySQL and the bug reports that they feed back in to Oracle and MariaDB.

    Anyone who slates FB or their technology stack has to remind themselves of the insane scale that they need to operate at.

    1. David Dawson

      Re: Impressive

      32gb ram to service 500 concurrent users in java?

      Either this is made up, or someone has done a truly awful job...

      1. Anonymous Coward
        Anonymous Coward

        Re: Impressive

        32gb ram to service 500 concurrent users in java?

        Either this is made up, or someone has done a truly awful job...

        Agreed. Last high concurrency system I developed in Java had simultaneous users numbering in the thousands, all served from three load balanced servers that had less than 32GB of RAM in total. Heap space for the Java VM on each server was 2GB.

This topic is closed for new posts.

Other stories you might like