The Linux Foundation held its first ever
(KLF) in Seoul, South Korea, in mid-October. The stated
goal was "to foster a stronger relationship between South Korea and
the global Linux development community
." In truth, South Korea is
already a strong presence in this community; arguably KLF was more of a
recognition and celebration of that relationship. In any case, one
conclusion was clear: there is a lot going on in this part of the world.
Some years ago, the Open Source Development Laboratories recognized that
Japanese companies were increasingly making use of Linux but were not
always participating in the development community. To help close the loop,
OSDL began a series of events where Japanese developers could hear from —
and talk with — developers from the wider community; that practice
continued into the Linux Foundation era. Your editor was lucky
enough to be able to attend a number of these events, starting in 2007. These conferences cannot
claim all of the credit for the marked increase in contributions from Japan
over the last several years, but it seems clear that they helped. The
Japanese Linux Symposium has since transformed into LinuxCon Japan, a
proper development conference in its own right.
KLF is clearly meant to follow the same pattern, but there is a big
difference this time around: community participation from Korea is already
increasing in a big way. For example, Samsung first appeared in the list
of top kernel contributors in the 2.6.35
development cycle over two years ago; it has held its place on that list
ever since. Contributions from Korean developers are clearly not in short
supply. That made the job of the KLF speakers easy; rather than
encouraging Korean developers to participate more, they were able to offer
their thanks and talk more about how to get things done in the community.
The first talk (after the inevitable cheerleading session by Linux
Foundation head Jim Zemlin) was by Samsung vice president Wonjoo Park; his
goal was to make it clear that Linux is an important resource for Samsung,
the "host sponsor" for the event as a whole. Software, he said,
is the means for product differentiation in today's market; it is the most
important part of any product and drives the business as a whole. Samsung,
it seems, is a software company.
The company got its start with Linux in 2003, using a distribution from
MontaVista. Use of Linux expanded over the years: appliances in 2005,
televisions in 2006, and so on. Samsung's first Linux smartphone came out
in 2004; it featured a voice-activated phone book. In 2007 Samsung joined
LiMo; the first LiMo-based phone came out in 2009. In 2012, products
all across the Samsung line, from phones and tablets to home theater
systems, cameras and printers, are all based on Linux.
Now, of course, much of the company's efforts are going into furthering the
Tizen distribution. He mentioned the recently-posted F2FS filesystem: Samsung could have held onto
that code and kept F2FS proprietary, he said, but that would have deterred
innovation; sharing it, instead, allows the company to accept changes from
others. Samsung has also put together an extensive license compliance
process after a "rough start" that forced the company to apologize to the
community. One of the results is opensource.samsung.com, one-stop
shopping for the source code for Samsung's products.
In summary, he said, Linux has become a "core competitive competence" for
Samsung; the company would not be able to do what it does without it.
Korean rockstar hacker Tejun Heo gave a well-received keynote presentation
on what it is like to be a community developer. It is hard, he said, but
then, working in Korean companies, where the expectations are high, is hard
in general. Developers
who can succeed in the corporate setting can make it in the community as
well. Developing in the community has a lot of rewards, including the fact
that credit for the work stays with the developer rather than accruing to
the sponsoring company. It is a challenging path, but full of benefits.
KLF was, like the early Japan events, oriented toward information delivery
rather than the sort of critical discussion of ongoing work that one finds
at a serious development conference. That does not mean that there was no
development work on display, though. Arguably the most interesting talk
was Kisoo Yu's discussion of the big.LITTLE switcher (originally written by Nicolas Pitre). Big.LITTLE is an ARM-based system-on-chip
architecture that combines a number of slow, power-efficient processors
with fast, power-hungry processors on the same chip. In this particular
case, Kisoo discussed an upcoming Samsung Exynos processor combining four
Cortex A7 processors with four Cortex A15's — yes, an eight-core SoC.
Big.LITTLE poses a number of interesting challenges for the kernel: how
does one schedule tasks across the system to optimize both throughput and
power consumption? Kisoo described two approaches, the first of which
involves running Linux under a simple hypervisor that transparently
switches the hardware from slow mode (running on all four A7's) to fast
mode (all four A15's) without the kernel's participation or awareness. The
alternative approach has the kernel itself explicitly managing the SoC as a
four-processor system, switching each one independently between the fast
and slow cores as if it were simply adjusting the CPU's clock frequency.
Either way, a number of heuristics have been developed to
try to determine the best time to make the switch from one to the other.
This SoC offers an interesting hardware feature that can quickly transfer
interesting L2 cache entries from one core to another to speed the
switching process, which can be done in 30µs or so.
Perhaps the most interesting takeaway from the talk is that we still don't
really have a good idea for how to manage these systems. This SoC is a
true eight-core processor; it would seem that an optimal approach would
manage it as such rather than as a four-core system with a big "turbo"
button. The fact that we are, thus far, unable to do so is not an
indictment of the developers working on the task in any way; it is clearly
a hard problem without much in the way of useful solutions in the
literature. As is the case with many other hard operating system problems,
the work being done now will get us closer to an understanding of the
issues and the eventual development of better solutions.
One thing that became clear at the inaugural KLF is that Korea is
increasingly supplying a lot of sharp minds ready to work on problems like
this, and that this trend looks set to continue indefinitely. Energy
abounds, as does, seemingly, a good sense of fun. Your editor
would like to thank our hosts in Korea for hosting an engaging event,
treating us so well, and even for inflicting "Gangnam style" K-pop music on
us at the conference dinner. And, of course, thanks are due to the Linux
Foundation for supporting your editor's travel to the event.
to post comments)