SlideShare a Scribd company logo
1 of 22
Download to read offline
FOSDEM 2014
Maksim Melnikau
FOSDEM

I’m at #fosdem 2014! http://pic.twitter.com/cGep6vrjTE
K level1, I think it is 2% of all attendences here
http://pic.twitter.com/e0XAVnaND3
1st day is over, a lot of tweeting without laptop charging, and powertop says that I
have 1 hour 40 minutes more - very nice!
FOSDEM is over, thank you, see you next time
http://pic.twitter.com/LDRGMYury1
300+ hours video recorded, enough to see 1h/day till next #fosdem

FOSDEM 2014, Maksim Melnikau
How Find and Fix Million Grammar and Style Errors in Wikipedia (1/2)
http://pic.twitter.com/Xa3X3qhXlW
Wikipedia uses languagetool (Java) to find errors
languagetool finds errors, but explanation sometimes wrong
languagetool - 10ms per sentence, 37k articles checked, 1 mln errors is projection
All sessions will be recorded —except the java dev room they are too cool
there is so many falsa alarms - difficult text extraction, math language,
non-English terms
languagetool false error examples: 68000 assembler (suggest: assemblers), if a is
algebraic over K(suggest: an)
LanguageTool: the next step after spell checking, LGPL, 10 regular commiters,
Java+XML
languagetool: plain text => sentences => words => find part-of-speech and base
form => analyzed sentences against error patterns
languagetool patterns are easy to contribute in XML format, no java skills required
languagetool supports many different languages including russian and belarusian
FOSDEM 2014, Maksim Melnikau
How Find and Fix Million Grammar and Style Errors in Wikipedia (2/2)
grammar is set of rules that describe how valid words, sentences, and texts looks
like
English wasn’t made for being parsed
"Sorry for my bed English"grammatically is fine...
errors find, but how to *fix the million* Wikipedia errors?
fix errors from recent changes
http://community.languagetool.org/feedMatches/list?lang=en . . . , fix only
changed part
Must check OpenNLP for machine learning. #fosdem
languagetool wish: make style and grammar checking ubiquitous
Belarusian haven’t maintainer in languagetool team
no need to stick to spell checking today - more powerful checks are available
FOSDEM 2014, Maksim Melnikau
kdbus, Lennart Poettering (1/2)
http://pic.twitter.com/or7GRd4qIK
D-Dbus is powerful IPC: method call transactions, signals, properties,
broadcasting, discovery, introspection, policy, activation...
D-Bus ... security, monitoring, expose APIs, File Description passing, Language
agnostic, Network transparency, no trust required...
D-Bus has limitations: suitable only for control, not payload; inefficient; not
available in early boot, initrd; baroque codebase...
if you try to solve problem with XML, you have two problems, about dbus in kdbus
talk
but still, D-Bus is fantastic, solves real problems

FOSDEM 2014, Maksim Melnikau
kdbus, Lennart Poettering (2/2)

kdbus suitable for large data (GiB!), zero-copy, optionally reusable; implicit
timestamping; always available; no XML...
kdbus overview: receiver buffer, single copy to dst(s), method call window, name
registr ...
memfds: zero copy, sealing, 512K zero copy is faster than single copy (a bit like
Android ashmem)
2 previous tries to get d-bus in kernel grandiosly failed

FOSDEM 2014, Maksim Melnikau
miracast on Linux
http://pic.twitter.com/59Nu5lWk9n
miracast: HDMI over IP over Wifi
ieee 802.11; wifi-p2p => wifi direct; wifi-display => miracast
miracast: P2P transport setup, ip link auto discovery, A/V streams
mirascast: many Linux wifi drivers not working (b43, brcmac, rtl818x, ath5k),
some supposed to work (ath9k,brcmfmac, iwl-mvm)...
known to work: iwl+mwm + intel wifi 7260 + wpa_supplicant: git-78f79 ...
HDMI over IP is RTSP + RTP + h264 + audio + mpeg2-TS
Additional Features: PTP, HDCP, UIBC, split-sink

FOSDEM 2014, Maksim Melnikau
Sailfish and Jolla (1/2)
http://pic.twitter.com/BDyv8WiN39
half people at sailfish talk have jolla device already!
jolla: no factory images, but recovery mode; fastboot; abillity to unlock bootloader
and flash own kernels; full root available
sailfishos: systemd, gcc, btrfs, gstreamer, wayland, qt5
libhybris - leverage existing Android hardware adaptation
https://together.jolla.com/questions/ - joll’s idea how to make users involve to
contriubute
#jolla contribute to everything except: artwork/trademark and L&F UI, 3rd party
closed source drivers, some NDA stuff ...
contribute to sailfishos: contribute to nemo, mer, and a lot of upstream projects!

FOSDEM 2014, Maksim Melnikau
Sailfish and Jolla (2/2)

libhybris - port Android/bionic linker to glibc environment, and it works; allows use
existing hardware for non-android OSs
it seems ridiculous to load glibc and bionic to address space of process but works
for almost all cases
android_dlopen("libEGL.so") - we could build (glibc) libEGL.so and libGLESv2.so
wrappers that accessed the android ones!
libhybris today used by Jolla/SailfishOS, Intel/Tizen, Canonical/Ubuntu

FOSDEM 2014, Maksim Melnikau
Fedora.Next
http://pic.twitter.com/EVINqplhDK
Fedora.Next split to Workstation, Server, Cloud
Fedora Workstation - graphical user environment for Student, Independent
Developer, Small Company Developer, Developer in large Org
Fedora Server - Headless "pet"server, Server Roles, IaaS Host, Stable platform for
critical infrastructure
Fedora Cloud - cloud image "cattle"server, scale-out, packaged images for public
clouds
some people in room dislike that Fedora.NEXT is smth, which was
"designed"behind closed doors
Fedora has so many infrastructure problems: bugs, reviews, build system, etc.

FOSDEM 2014, Maksim Melnikau
FOSDEM network, NAT64 and DNS64 (1/2)
http://pic.twitter.com/JQwXYYaw5z
NAT64 Statistics Total active translations: 23636
but too many people escaped to fosdem-dualstack :( )
So, I’m switched to ipv6 #fosdem ESSID ... It is my first time ever when I use ipv6
... http://pic.twitter.com/KO1nCoCwHr
IPv4 has run out, IPv5 never made it to public use, so IPv6
there was a war in begging of IPv6: 64bit vs unlimited!
clients, content, carriers, applications, hardware - Mexican standoff - nobody want
to do first step
World IPv6 day - lets turn it on and see what breaks
google, facebook, yahoo, youtube, netflix, akamai and many more run ipv6 today
different countries (main providers) enables ipv6 one by one - France, Germany,
Belgium etc
FOSDEM 2014, Maksim Melnikau
FOSDEM network, NAT64 and DNS64 (2/2)

- 5000+ hackers which could test, debug and fix ipv6 problems
if you run NAT anyway - why not unable IPv6 and use NAT64 and DNS64 ?!
we can hide a complete legacy internet in a /96!
My twit at #fosdem ipv6 talk, I’m famous now! :)
http://pic.twitter.com/EEqM0XKIQM
nexus could not get ipv6 only address
FOSDEM’14 is the first general-purpose conference which has ipv6 network by
default

FOSDEM 2014, Maksim Melnikau
KDE Connect

http://pic.twitter.com/Z5ZaXSvzRT
KDE Connect - fuse your devices as mush as possible and desirable
KDE Connect protocol: json based, medium abstracted, easy extended, easy
implemented
KDE Connect: Notifications, Actions, Battery, MPRIS2, Send files and Urls,
Clipboard synchronization, Encryption
Connect: Qt => libconnect => Server => Plugins => DBus => Plasma, KCM,
Apps

FOSDEM 2014, Maksim Melnikau
GPU Offload on Wayland
http://pic.twitter.com/BIUK0CmUp8
render-nodes - Allow to render without authentication to DRM master(but without
some functionality)
1080p screen buffer with 60fps 480MB/s, PCI express is 4GB/s, thunderbolt
1GB/s
tiling - special pixel ordering optimized to exploit local spatial coherence - good for
performance
GPU offload with X DRI2: DDX per device/provider, configure with xrandr
Two displays: A and B, two cards: 1 connected to A, 2 connected to B - classic
nvidia optimus layout
wayland gpu offload: shutdown the dedicated GPU when unneeded works now
XWayland: wlglamor, Xserver linked to Wayland compositor - no need for gpu
offloading
FOSDEM 2014, Maksim Melnikau
Wine User Experience

http://pic.twitter.com/WGR6nkEhuQ
once a year somebody writes at wine forum what "everything is work, and you are
rock!"
#ubuntu still ships 1.4.x wine version, why?!
common problem when you answer to user question if user hides, you don’t know
why: does everything work, user give up or died ...

FOSDEM 2014, Maksim Melnikau
Performance of Wine and Graphical Drivers (1/2)
http://pic.twitter.com/jRFI2OxRqT
wine performance becomes a bit faster on windows last year (yes, wine works on
windows too)
R300g+wine become a bit slower with reason of some unknown regression, but
R600g got greate improvements
nvidia legacy is unchanged, so quite silent time from user point of view => but it
was a lot of work inside
wine multithread command stream - move most d3d work into separate thread =>
better CPU utilization => 2x performance (in theory)
easy synchronization in multi-threaded games, even bigger performance gains, 3x
in CoD 4:MW, btw Windows does the same thing
GeForce 460 GTX, wine performance a 40% lower than in windows for UT2004
FOSDEM 2014, Maksim Melnikau
Performance of Wine and Graphical Drivers (2/2)
wine CSMT improvements - some games faster on wine than on windows
CSMT brings better performance mostly on fast systems like 460gtx + i7 ...
drivers don’t like to be called from two threads without looking, even with separate
contexts
CSMT and Nvidia’s threaded opt - essentially the same thing, differences is in
synchronization
CSMT wine next steps: upstream, improve data streaming, reduce draw overhead
in wine, wine performance outside d3d ...
wine could have a big problems running on wayland natively - many windows apps
rely on window posistions for example

FOSDEM 2014, Maksim Melnikau
Persistant Storage (1/2)
http://pic.twitter.com/5TOmumYiiw
file system performance: maximize throughput or latency? target embedded, power
consumption or performance?
high bandwidth has been the traditional focus - backup, streaming video, etc
SSD’s made life more complicated - not too painful at first, plaggued in
PCI-e SSD Devices Turn up the Heat - opened a lot of other bottlenecks in Linux
Storage Stack - 1 million IOPS/device
a single file system is easy for users and applications, and can perform better than
multiple file systems
wow! fsck which works more than week!
persistent memory - a variety of new technologies are coming from multiple
vendors - Linux need to be (mostly) technology neutral
SNIA - Storage Network Industry Association, Working Group on NVM.
FOSDEM 2014, Maksim Melnikau
Persistant Storage (2/2)

SMR Drive Write Bands - sequential write only
Host is aware of SMR topology at some layer
Open source drives emerging for PCI-e cards, open source drivers should become
more popular than closed vendor one
SMR and PM together - interesting workload for out future
for x86_64 machines, normally block size limit is 4k, storage hardware often have
very large internal blocks - 65k
Persistent Storage - you will never ever wait for storage anymore, CPU will be
bottleneck

FOSDEM 2014, Maksim Melnikau
Concurrent Programming Made Simple - Transaction Memory (1/2)
http://pic.twitter.com/loaFWPhMFI
shared memory (synchronization) + Transactions = Transaction memory (TM)
TM is programming abstraction - allow programmers to declare which code
sequences are atomic
TM is still rather new - standartization for C/C++ started 5 years go, GCC has
support since 4.7, HW implementations - haswell
__transaction_atomic { if (x<10) y++; } - code in atomic transactions must be
transaction-safe
transactions extend the C11/C++1 memory model - all transactions totally
ordered
TM supports modular programming - programmers don’t need to manage
association between shared data and synchronization metadata
FOSDEM 2014, Maksim Melnikau
Concurrent Programming Made Simple - Transaction Memory (2/2)
GCC implementation: compiler - ensure atomicity guarantee (at compile time!) find all transaction safe code
GCC implementation: TM runtime library (libitm) => enforces atomicity o
transactions at runtime (contains SW-only implementation)
performance: it’s a tool, not magic - *useful balance* between easy-to-use and
performance, but implementations are wip
single-thread performance: STM slower than sequential, HTM equals. In
multi-thread both STM and HTM scales well
TM, use it: gcc -fgnu-tm, report bugs and dive into libitm / GCC
Transaction Memory as Distributed Transaction Memory
eventually consistency - is not consistency at all!

FOSDEM 2014, Maksim Melnikau
Thank You. Questions

Maksim Melnikau
mailto:m_melnikau@wargaming.net
https://plus.google.com/+MaksimMelnikau
https://twitter.com/max_posedon
http://wargaming.com

More Related Content

What's hot

Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsFuture of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsAniruddha Chakrabarti
 
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...Zohar Babin
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Ron Munitz
 
Linux Seminar for Beginners
Linux Seminar for BeginnersLinux Seminar for Beginners
Linux Seminar for BeginnersNAILBITER
 
Os Paesdosreistutorial
Os PaesdosreistutorialOs Paesdosreistutorial
Os Paesdosreistutorialoscon2007
 
Running Windows applications on Linux
Running Windows applications on LinuxRunning Windows applications on Linux
Running Windows applications on LinuxJochen Kirstätter
 
Minko - Scripting 3D apps with Lua and C++
Minko - Scripting 3D apps with Lua and C++Minko - Scripting 3D apps with Lua and C++
Minko - Scripting 3D apps with Lua and C++Minko3D
 
Synapse india fundamentals of dotnet development
Synapse india fundamentals of dotnet  developmentSynapse india fundamentals of dotnet  development
Synapse india fundamentals of dotnet developmentSynapseindiappsdevelopment
 
Openmeetings
OpenmeetingsOpenmeetings
Openmeetingshs1250
 

What's hot (14)

Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsFuture of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows Platforms
 
Understand
UnderstandUnderstand
Understand
 
The windows socket
The windows socketThe windows socket
The windows socket
 
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
 
Welcome to windows 8
Welcome to windows 8Welcome to windows 8
Welcome to windows 8
 
Linux Seminar for Beginners
Linux Seminar for BeginnersLinux Seminar for Beginners
Linux Seminar for Beginners
 
nullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexitiesnullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexities
 
Os Paesdosreistutorial
Os PaesdosreistutorialOs Paesdosreistutorial
Os Paesdosreistutorial
 
Running Windows applications on Linux
Running Windows applications on LinuxRunning Windows applications on Linux
Running Windows applications on Linux
 
Minko - Scripting 3D apps with Lua and C++
Minko - Scripting 3D apps with Lua and C++Minko - Scripting 3D apps with Lua and C++
Minko - Scripting 3D apps with Lua and C++
 
Synapse india fundamentals of dotnet development
Synapse india fundamentals of dotnet  developmentSynapse india fundamentals of dotnet  development
Synapse india fundamentals of dotnet development
 
Drupal refcard
Drupal refcardDrupal refcard
Drupal refcard
 
Openmeetings
OpenmeetingsOpenmeetings
Openmeetings
 

Viewers also liked

World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideMaksim Melnikau
 
Корпоративная презентация в Beamer
Корпоративная презентация в BeamerКорпоративная презентация в Beamer
Корпоративная презентация в BeamerMaksim Melnikau
 
Python meetup, Minsk, November
Python meetup, Minsk, NovemberPython meetup, Minsk, November
Python meetup, Minsk, NovemberMaksim Melnikau
 
Zero downtime upgrade на коленках
Zero downtime upgrade на коленкахZero downtime upgrade на коленках
Zero downtime upgrade на коленкахMaksim Melnikau
 
World of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработкиWorld of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработкиMaksim Melnikau
 
Python meetup, Minsk, August
Python meetup, Minsk, AugustPython meetup, Minsk, August
Python meetup, Minsk, AugustMaksim Melnikau
 
World of Tanks: один миллион игроков онлайн
World of Tanks: один миллион игроков онлайнWorld of Tanks: один миллион игроков онлайн
World of Tanks: один миллион игроков онлайнMaksim Melnikau
 
Python meetup, Minsk, September
Python meetup, Minsk, SeptemberPython meetup, Minsk, September
Python meetup, Minsk, SeptemberMaksim Melnikau
 
World of tanks: высокие нагрузки
World of tanks: высокие нагрузкиWorld of tanks: высокие нагрузки
World of tanks: высокие нагрузкиMaksim Melnikau
 
World of Tanks: на пути к 1M CCU
World of Tanks: на пути к 1M CCUWorld of Tanks: на пути к 1M CCU
World of Tanks: на пути к 1M CCUMaksim Melnikau
 
IPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNIPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNMaksim Melnikau
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideMaksim Melnikau
 

Viewers also liked (15)

World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source Inside
 
Корпоративная презентация в Beamer
Корпоративная презентация в BeamerКорпоративная презентация в Beamer
Корпоративная презентация в Beamer
 
Ubuntu touch-install
Ubuntu touch-installUbuntu touch-install
Ubuntu touch-install
 
Python meetup, Minsk, November
Python meetup, Minsk, NovemberPython meetup, Minsk, November
Python meetup, Minsk, November
 
Zero downtime upgrade на коленках
Zero downtime upgrade на коленкахZero downtime upgrade на коленках
Zero downtime upgrade на коленках
 
World of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработкиWorld of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработки
 
Python meetup, Minsk, August
Python meetup, Minsk, AugustPython meetup, Minsk, August
Python meetup, Minsk, August
 
World of Tanks: один миллион игроков онлайн
World of Tanks: один миллион игроков онлайнWorld of Tanks: один миллион игроков онлайн
World of Tanks: один миллион игроков онлайн
 
Python meetup, Minsk, September
Python meetup, Minsk, SeptemberPython meetup, Minsk, September
Python meetup, Minsk, September
 
World of tanks: высокие нагрузки
World of tanks: высокие нагрузкиWorld of tanks: высокие нагрузки
World of tanks: высокие нагрузки
 
Wayland state in Gentoo
Wayland state in GentooWayland state in Gentoo
Wayland state in Gentoo
 
World of Tanks: на пути к 1M CCU
World of Tanks: на пути к 1M CCUWorld of Tanks: на пути к 1M CCU
World of Tanks: на пути к 1M CCU
 
IPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNIPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPN
 
Wargaming web
Wargaming webWargaming web
Wargaming web
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source Inside
 

Similar to FOSDEM 2014 Conference Coverage by Maksim Melnikau

Максим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overviewМаксим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overviewMinsk Linux User Group
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014Minko3D
 
How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker Jonathan Martin
 
State of Fedora (Flock 2015)
State of Fedora (Flock 2015)State of Fedora (Flock 2015)
State of Fedora (Flock 2015)mattdm-fedora
 
Android Developer Meetup
Android Developer MeetupAndroid Developer Meetup
Android Developer MeetupMedialets
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornPROIDEA
 
Minko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko3D
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoMinko3D
 
Long life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadLong life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadFederico Panini
 
ODROID Magazine April 2014
ODROID Magazine April 2014ODROID Magazine April 2014
ODROID Magazine April 2014Nanik Tolaram
 
Hacking Robotics(English Version)
Hacking Robotics(English Version)Hacking Robotics(English Version)
Hacking Robotics(English Version)Kensei Demura
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 
Concurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple SpacesConcurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple Spacesluccastera
 
USB 3.0 CAPTURE HDMI 4K with Loop-through for Image redistribution
USB 3.0 CAPTURE HDMI 4K with Loop-through for Image redistributionUSB 3.0 CAPTURE HDMI 4K with Loop-through for Image redistribution
USB 3.0 CAPTURE HDMI 4K with Loop-through for Image redistributionNaoto MATSUMOTO
 
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会kfunaoka
 

Similar to FOSDEM 2014 Conference Coverage by Maksim Melnikau (20)

Максим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overviewМаксим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overview
 
Touch your NetBSD
Touch your NetBSDTouch your NetBSD
Touch your NetBSD
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
 
How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker
 
PostScript: Danger Ahead?!
PostScript: Danger Ahead?!PostScript: Danger Ahead?!
PostScript: Danger Ahead?!
 
State of Fedora (Flock 2015)
State of Fedora (Flock 2015)State of Fedora (Flock 2015)
State of Fedora (Flock 2015)
 
Android Developer Meetup
Android Developer MeetupAndroid Developer Meetup
Android Developer Meetup
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
 
Minko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with Minko
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
 
Long life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadLong life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is dead
 
ODROID Magazine April 2014
ODROID Magazine April 2014ODROID Magazine April 2014
ODROID Magazine April 2014
 
Fedora Modularity
Fedora ModularityFedora Modularity
Fedora Modularity
 
Hacking Robotics(English Version)
Hacking Robotics(English Version)Hacking Robotics(English Version)
Hacking Robotics(English Version)
 
Bsd ss
Bsd ssBsd ss
Bsd ss
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Concurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple SpacesConcurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple Spaces
 
USB 3.0 CAPTURE HDMI 4K with Loop-through for Image redistribution
USB 3.0 CAPTURE HDMI 4K with Loop-through for Image redistributionUSB 3.0 CAPTURE HDMI 4K with Loop-through for Image redistribution
USB 3.0 CAPTURE HDMI 4K with Loop-through for Image redistribution
 
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

FOSDEM 2014 Conference Coverage by Maksim Melnikau

  • 2. FOSDEM I’m at #fosdem 2014! http://pic.twitter.com/cGep6vrjTE K level1, I think it is 2% of all attendences here http://pic.twitter.com/e0XAVnaND3 1st day is over, a lot of tweeting without laptop charging, and powertop says that I have 1 hour 40 minutes more - very nice! FOSDEM is over, thank you, see you next time http://pic.twitter.com/LDRGMYury1 300+ hours video recorded, enough to see 1h/day till next #fosdem FOSDEM 2014, Maksim Melnikau
  • 3. How Find and Fix Million Grammar and Style Errors in Wikipedia (1/2) http://pic.twitter.com/Xa3X3qhXlW Wikipedia uses languagetool (Java) to find errors languagetool finds errors, but explanation sometimes wrong languagetool - 10ms per sentence, 37k articles checked, 1 mln errors is projection All sessions will be recorded —except the java dev room they are too cool there is so many falsa alarms - difficult text extraction, math language, non-English terms languagetool false error examples: 68000 assembler (suggest: assemblers), if a is algebraic over K(suggest: an) LanguageTool: the next step after spell checking, LGPL, 10 regular commiters, Java+XML languagetool: plain text => sentences => words => find part-of-speech and base form => analyzed sentences against error patterns languagetool patterns are easy to contribute in XML format, no java skills required languagetool supports many different languages including russian and belarusian FOSDEM 2014, Maksim Melnikau
  • 4. How Find and Fix Million Grammar and Style Errors in Wikipedia (2/2) grammar is set of rules that describe how valid words, sentences, and texts looks like English wasn’t made for being parsed "Sorry for my bed English"grammatically is fine... errors find, but how to *fix the million* Wikipedia errors? fix errors from recent changes http://community.languagetool.org/feedMatches/list?lang=en . . . , fix only changed part Must check OpenNLP for machine learning. #fosdem languagetool wish: make style and grammar checking ubiquitous Belarusian haven’t maintainer in languagetool team no need to stick to spell checking today - more powerful checks are available FOSDEM 2014, Maksim Melnikau
  • 5. kdbus, Lennart Poettering (1/2) http://pic.twitter.com/or7GRd4qIK D-Dbus is powerful IPC: method call transactions, signals, properties, broadcasting, discovery, introspection, policy, activation... D-Bus ... security, monitoring, expose APIs, File Description passing, Language agnostic, Network transparency, no trust required... D-Bus has limitations: suitable only for control, not payload; inefficient; not available in early boot, initrd; baroque codebase... if you try to solve problem with XML, you have two problems, about dbus in kdbus talk but still, D-Bus is fantastic, solves real problems FOSDEM 2014, Maksim Melnikau
  • 6. kdbus, Lennart Poettering (2/2) kdbus suitable for large data (GiB!), zero-copy, optionally reusable; implicit timestamping; always available; no XML... kdbus overview: receiver buffer, single copy to dst(s), method call window, name registr ... memfds: zero copy, sealing, 512K zero copy is faster than single copy (a bit like Android ashmem) 2 previous tries to get d-bus in kernel grandiosly failed FOSDEM 2014, Maksim Melnikau
  • 7. miracast on Linux http://pic.twitter.com/59Nu5lWk9n miracast: HDMI over IP over Wifi ieee 802.11; wifi-p2p => wifi direct; wifi-display => miracast miracast: P2P transport setup, ip link auto discovery, A/V streams mirascast: many Linux wifi drivers not working (b43, brcmac, rtl818x, ath5k), some supposed to work (ath9k,brcmfmac, iwl-mvm)... known to work: iwl+mwm + intel wifi 7260 + wpa_supplicant: git-78f79 ... HDMI over IP is RTSP + RTP + h264 + audio + mpeg2-TS Additional Features: PTP, HDCP, UIBC, split-sink FOSDEM 2014, Maksim Melnikau
  • 8. Sailfish and Jolla (1/2) http://pic.twitter.com/BDyv8WiN39 half people at sailfish talk have jolla device already! jolla: no factory images, but recovery mode; fastboot; abillity to unlock bootloader and flash own kernels; full root available sailfishos: systemd, gcc, btrfs, gstreamer, wayland, qt5 libhybris - leverage existing Android hardware adaptation https://together.jolla.com/questions/ - joll’s idea how to make users involve to contriubute #jolla contribute to everything except: artwork/trademark and L&F UI, 3rd party closed source drivers, some NDA stuff ... contribute to sailfishos: contribute to nemo, mer, and a lot of upstream projects! FOSDEM 2014, Maksim Melnikau
  • 9. Sailfish and Jolla (2/2) libhybris - port Android/bionic linker to glibc environment, and it works; allows use existing hardware for non-android OSs it seems ridiculous to load glibc and bionic to address space of process but works for almost all cases android_dlopen("libEGL.so") - we could build (glibc) libEGL.so and libGLESv2.so wrappers that accessed the android ones! libhybris today used by Jolla/SailfishOS, Intel/Tizen, Canonical/Ubuntu FOSDEM 2014, Maksim Melnikau
  • 10. Fedora.Next http://pic.twitter.com/EVINqplhDK Fedora.Next split to Workstation, Server, Cloud Fedora Workstation - graphical user environment for Student, Independent Developer, Small Company Developer, Developer in large Org Fedora Server - Headless "pet"server, Server Roles, IaaS Host, Stable platform for critical infrastructure Fedora Cloud - cloud image "cattle"server, scale-out, packaged images for public clouds some people in room dislike that Fedora.NEXT is smth, which was "designed"behind closed doors Fedora has so many infrastructure problems: bugs, reviews, build system, etc. FOSDEM 2014, Maksim Melnikau
  • 11. FOSDEM network, NAT64 and DNS64 (1/2) http://pic.twitter.com/JQwXYYaw5z NAT64 Statistics Total active translations: 23636 but too many people escaped to fosdem-dualstack :( ) So, I’m switched to ipv6 #fosdem ESSID ... It is my first time ever when I use ipv6 ... http://pic.twitter.com/KO1nCoCwHr IPv4 has run out, IPv5 never made it to public use, so IPv6 there was a war in begging of IPv6: 64bit vs unlimited! clients, content, carriers, applications, hardware - Mexican standoff - nobody want to do first step World IPv6 day - lets turn it on and see what breaks google, facebook, yahoo, youtube, netflix, akamai and many more run ipv6 today different countries (main providers) enables ipv6 one by one - France, Germany, Belgium etc FOSDEM 2014, Maksim Melnikau
  • 12. FOSDEM network, NAT64 and DNS64 (2/2) - 5000+ hackers which could test, debug and fix ipv6 problems if you run NAT anyway - why not unable IPv6 and use NAT64 and DNS64 ?! we can hide a complete legacy internet in a /96! My twit at #fosdem ipv6 talk, I’m famous now! :) http://pic.twitter.com/EEqM0XKIQM nexus could not get ipv6 only address FOSDEM’14 is the first general-purpose conference which has ipv6 network by default FOSDEM 2014, Maksim Melnikau
  • 13. KDE Connect http://pic.twitter.com/Z5ZaXSvzRT KDE Connect - fuse your devices as mush as possible and desirable KDE Connect protocol: json based, medium abstracted, easy extended, easy implemented KDE Connect: Notifications, Actions, Battery, MPRIS2, Send files and Urls, Clipboard synchronization, Encryption Connect: Qt => libconnect => Server => Plugins => DBus => Plasma, KCM, Apps FOSDEM 2014, Maksim Melnikau
  • 14. GPU Offload on Wayland http://pic.twitter.com/BIUK0CmUp8 render-nodes - Allow to render without authentication to DRM master(but without some functionality) 1080p screen buffer with 60fps 480MB/s, PCI express is 4GB/s, thunderbolt 1GB/s tiling - special pixel ordering optimized to exploit local spatial coherence - good for performance GPU offload with X DRI2: DDX per device/provider, configure with xrandr Two displays: A and B, two cards: 1 connected to A, 2 connected to B - classic nvidia optimus layout wayland gpu offload: shutdown the dedicated GPU when unneeded works now XWayland: wlglamor, Xserver linked to Wayland compositor - no need for gpu offloading FOSDEM 2014, Maksim Melnikau
  • 15. Wine User Experience http://pic.twitter.com/WGR6nkEhuQ once a year somebody writes at wine forum what "everything is work, and you are rock!" #ubuntu still ships 1.4.x wine version, why?! common problem when you answer to user question if user hides, you don’t know why: does everything work, user give up or died ... FOSDEM 2014, Maksim Melnikau
  • 16. Performance of Wine and Graphical Drivers (1/2) http://pic.twitter.com/jRFI2OxRqT wine performance becomes a bit faster on windows last year (yes, wine works on windows too) R300g+wine become a bit slower with reason of some unknown regression, but R600g got greate improvements nvidia legacy is unchanged, so quite silent time from user point of view => but it was a lot of work inside wine multithread command stream - move most d3d work into separate thread => better CPU utilization => 2x performance (in theory) easy synchronization in multi-threaded games, even bigger performance gains, 3x in CoD 4:MW, btw Windows does the same thing GeForce 460 GTX, wine performance a 40% lower than in windows for UT2004 FOSDEM 2014, Maksim Melnikau
  • 17. Performance of Wine and Graphical Drivers (2/2) wine CSMT improvements - some games faster on wine than on windows CSMT brings better performance mostly on fast systems like 460gtx + i7 ... drivers don’t like to be called from two threads without looking, even with separate contexts CSMT and Nvidia’s threaded opt - essentially the same thing, differences is in synchronization CSMT wine next steps: upstream, improve data streaming, reduce draw overhead in wine, wine performance outside d3d ... wine could have a big problems running on wayland natively - many windows apps rely on window posistions for example FOSDEM 2014, Maksim Melnikau
  • 18. Persistant Storage (1/2) http://pic.twitter.com/5TOmumYiiw file system performance: maximize throughput or latency? target embedded, power consumption or performance? high bandwidth has been the traditional focus - backup, streaming video, etc SSD’s made life more complicated - not too painful at first, plaggued in PCI-e SSD Devices Turn up the Heat - opened a lot of other bottlenecks in Linux Storage Stack - 1 million IOPS/device a single file system is easy for users and applications, and can perform better than multiple file systems wow! fsck which works more than week! persistent memory - a variety of new technologies are coming from multiple vendors - Linux need to be (mostly) technology neutral SNIA - Storage Network Industry Association, Working Group on NVM. FOSDEM 2014, Maksim Melnikau
  • 19. Persistant Storage (2/2) SMR Drive Write Bands - sequential write only Host is aware of SMR topology at some layer Open source drives emerging for PCI-e cards, open source drivers should become more popular than closed vendor one SMR and PM together - interesting workload for out future for x86_64 machines, normally block size limit is 4k, storage hardware often have very large internal blocks - 65k Persistent Storage - you will never ever wait for storage anymore, CPU will be bottleneck FOSDEM 2014, Maksim Melnikau
  • 20. Concurrent Programming Made Simple - Transaction Memory (1/2) http://pic.twitter.com/loaFWPhMFI shared memory (synchronization) + Transactions = Transaction memory (TM) TM is programming abstraction - allow programmers to declare which code sequences are atomic TM is still rather new - standartization for C/C++ started 5 years go, GCC has support since 4.7, HW implementations - haswell __transaction_atomic { if (x<10) y++; } - code in atomic transactions must be transaction-safe transactions extend the C11/C++1 memory model - all transactions totally ordered TM supports modular programming - programmers don’t need to manage association between shared data and synchronization metadata FOSDEM 2014, Maksim Melnikau
  • 21. Concurrent Programming Made Simple - Transaction Memory (2/2) GCC implementation: compiler - ensure atomicity guarantee (at compile time!) find all transaction safe code GCC implementation: TM runtime library (libitm) => enforces atomicity o transactions at runtime (contains SW-only implementation) performance: it’s a tool, not magic - *useful balance* between easy-to-use and performance, but implementations are wip single-thread performance: STM slower than sequential, HTM equals. In multi-thread both STM and HTM scales well TM, use it: gcc -fgnu-tm, report bugs and dive into libitm / GCC Transaction Memory as Distributed Transaction Memory eventually consistency - is not consistency at all! FOSDEM 2014, Maksim Melnikau
  • 22. Thank You. Questions Maksim Melnikau mailto:m_melnikau@wargaming.net https://plus.google.com/+MaksimMelnikau https://twitter.com/max_posedon http://wargaming.com