SlideShare a Scribd company logo
1 of 12
Download to read offline
OSS開発勉強会-02
Mail Reading:
SELinux scalability improvement using RCU
NEC OSS推進センター
海外 浩平 <kaigai@ak.jp.nec.com>
SELinux scalability improvement using RCU
プロジェクト期間
2004年8月~9月
やった事
SELinuxがアクセス制御の意思決定を行なう関数は、
Spinlock (排他ロック)で保護されていた
SMP環境でも1CPUが同時実行の限界、性能のボトルネック
RCUを使ってロックを置き換え、リニアスケールを実現。
Linux kernel v2.6.11 で標準化
主な登場人物
Stephen Smalley (NSA)
James Morris (Red Hat)
Paul E.McKenney (IBM)
SELinuxの内部構造 (v2.6.9)
System Call 実装部
SELinuxアクセス制御
(avc_has_perms()関数)
spin_lock_irqsave()
avc_lookup_cache()
spin_unlock_irqsave()
待ち 待ち 待ち
許可
or
禁止
CPU1 CPU2 CPU3 CPU4
security
policy
参照
load_policy()関数
書換え
RCU (Read Copy Update)
「Readアクセス >> Writeアクセス」なデータ構造で有効
E.g) SELinuxのセキュリティポリシー
ポインタの更新がアトミックに行なえる事を利用した技術
Write時のコストは Lock を利用した場合よりも高いものの、
Read時のコストは0に近い
要素1 要素2 要素3 要素4
コールバック関数
kfree()
COPY
要素3要素3'
MLでの議論
Sat, 7 Aug 2004 22:57:08 -0400 (EDT) James Morris <jmorris@redhat.com> wrote:
> > The biggest problem is the global lock:
> > > > avc_has_perm_noaudit:
> > spin_lock_irqsave(&avc_lock, flags);
> > > > Any chance we can get rid of it? Maybe with RCU?
> > Yes, known problem. I plan on trying RCU soon, Rik was looking at a
> seqlock approach.
I'm interested in the scalability of SELinux, and tried with rwlock and RCU approaches.
I simply replaced spinlock_irq_save() by (read|write)_lock_irqsave() first, but performance
improvement was observed in the hackbench
:
:
: On Mon, 16 Aug 2004, Kaigai Kohei wrote:
> Is removing direct reference to AVC-Entry approach acceptable?
> > I'll try to consider this issue further.
Sure, if you can make it work without problems.
- James -- James Morris <jmorris@redhat.com>
MLでの議論 (1/2)
The attached patches against to 2.6.8.1 kernel improve the performance and the
scalability of SELinux by RCU-approach. The evaluation results are as follows:
<Environment>
CPU: Itanium2(1GHz) x 4/8/16/32
Memory: enough (no swap)
OS: 2.6.8.1 (SELinux disabled by 'selinux=0' boot option)
2.6.8.1 (SELinux enabled)
2.6.8.1 + rwlock patch by KaiGai
2.6.8.1 + RCU patch by KaiGai
The test program iterates write() to files on tmpfs 500,000 times in parallel.
It is attached as 'rcutest.c'. We observed performance improvement and perfect scalability.
--- 4CPU --- --- 8CPU --- --- 16CPU --- --- 32CPU ---
2.6.8.1(disable) 8.0158[s] 8.0183[s] 8.0146[s] 8.0037[s]
(2.08/ 6.07) (1.86/6.31) (0.78/ 7.33) (2.03/5.94)
2.6.8.1(enable) 78.0957[s] 319.0451[s] 1322.0313[s] too long
(2.47/76.48)(2.47/316.96) (2.43/1319.8) (---/---)
2.6.8.1.rwlock 20.0100[s] 49.0390[s] 90.0200[s] 177.0533[s]
(2.57/17.52) (2.45/46.93) (2.37/87.78) (2.41/175.1)
2.6.8.1.rcu 11.0464[s] 11.0205[s] 11.0372[s] 11.0496[s]
(2.64/8.82) (2.21/8.98) (2.67/ 8.68) (2.51/8.95)
MLでの議論 (2/2)
James Morrisから
1or2CPU環境での性能が気になる
計測してみた → Single-Thread テストも悪くない
あと atomic_inc_return() って i386 で実装されてなくね?
これは、後に各アーキテクチャに移植する事に
Paul E.McKenny登場
RCUアルゴリズムの開発者
当時、RCUはLinux kernelで限定的な使われ方がされていた
そのためか、進んでレビューを引き受けてくれる。
Stephen Smalley
実行時に kmalloc() して大丈夫なん?
Lockを獲得するパスがあるけど、それでいいの?
最初のコメントを振り返って
大失敗パッチ
kmalloc()の失敗を考慮するくらいなら、リストの各要素を二重
に持って、更新時は裏面に書き込んで後で切り替えれば…?
2スレッド以上が同時にリストを更新しようとした時はどうするんだ?
撃沈
元々、更新の頻度は低いのだから、write時はロックでも良い
要素1
要素1’
要素2
要素2’
要素3
要素3’
要素4
要素4’
Take-4 パッチ
Write時だけはロックを獲得するように修正
kmalloc()失敗時は、cacheを使わないパスにfallback
要素1 要素2 要素3
:
:
:
:
Lock
Lock
Lock
:
:
:
:
read時
RCUを使いLockレスで参照可
write時
Hash-bucket毎のLockを取る
Spinlock配列 Hash表
lru_hint
atomic_inc_return()パッチ
atomic operations
メモリ上で『フェッチ→演算→ストア』の一連の流れが
アトミックに行われる事を保障する。
Hash表からItemを回収する際に、スロットの選択のために
lru_hintをアトミックに操作したかった。
実装はアーキテクチャ依存
当時、ia64では実装済みも、i386やarmでは未提供だった
パッチ
i386, x86_64, arm, arm26, sparc64 向けに投稿
これで、全アーキテクチャで atomic_(inc|dec)_return() が
利用可能となった。
Linux-2.6.11で統合
ポイント
その道の専門家を上手く使う
Paul E.McKenny (IBM) はRCUの開発者
当時、イマイチ理解が不十分であったポイントに対しても、
的確なコメントでヘルプ
各アーキテクチャのメンテナー
ARMやSPARC64のハードなど持っていないが、メンテナーに
レビューを依頼。実機で一度も動かした事のないコードをマージ。
コミュニティの重鎮を味方に引き入れる
Stephen SmalleyやJames MorrisはSELinuxのメンテナー
早期にコードを公開し、フィードバックを反映させる。
☓ バッドノウハウ
IBMのLTCのメンバが取り組んでいた、SeqLockを用いるアプローチは、
コードの公開が遅れ、結局、Linux kernelへの統合を断念する事に

More Related Content

What's hot

OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料Etsuji Nakai
 
Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Etsuji Nakai
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編Etsuji Nakai
 
Mercurial はオフラインの海を越える
Mercurial はオフラインの海を越えるMercurial はオフラインの海を越える
Mercurial はオフラインの海を越えるzetamatta
 
Cloud next with Server Roadmap
Cloud next with Server RoadmapCloud next with Server Roadmap
Cloud next with Server RoadmapHisaki Ohara
 
RHEL6 High Availability Add-On Technical Guide
RHEL6 High Availability Add-On Technical GuideRHEL6 High Availability Add-On Technical Guide
RHEL6 High Availability Add-On Technical GuideEtsuji Nakai
 
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode DemoOSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demoirix_jp
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!Etsuji Nakai
 
[Basic 9] 並列処理 / 排他制御
[Basic 9] 並列処理 / 排他制御[Basic 9] 並列処理 / 排他制御
[Basic 9] 並列処理 / 排他制御Yuto Takei
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
Platespin Forge による災害対策システムの構築
Platespin Forge による災害対策システムの構築Platespin Forge による災害対策システムの構築
Platespin Forge による災害対策システムの構築Masaru Hiroki
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...VirtualTech Japan Inc.
 
Eucalyptus 2.0 始めました!
Eucalyptus 2.0 始めました!Eucalyptus 2.0 始めました!
Eucalyptus 2.0 始めました!Osamu Habuka
 
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGOSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGHideki Saito
 
完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワークEtsuji Nakai
 
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたサーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたVirtualTech Japan Inc.
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門Etsuji Nakai
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」Toshiharu Harada, Ph.D
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Takuya ASADA
 

What's hot (20)

OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
 
Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編
 
Mercurial はオフラインの海を越える
Mercurial はオフラインの海を越えるMercurial はオフラインの海を越える
Mercurial はオフラインの海を越える
 
Cloud next with Server Roadmap
Cloud next with Server RoadmapCloud next with Server Roadmap
Cloud next with Server Roadmap
 
RHEL6 High Availability Add-On Technical Guide
RHEL6 High Availability Add-On Technical GuideRHEL6 High Availability Add-On Technical Guide
RHEL6 High Availability Add-On Technical Guide
 
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode DemoOSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!
 
[Basic 9] 並列処理 / 排他制御
[Basic 9] 並列処理 / 排他制御[Basic 9] 並列処理 / 排他制御
[Basic 9] 並列処理 / 排他制御
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Platespin Forge による災害対策システムの構築
Platespin Forge による災害対策システムの構築Platespin Forge による災害対策システムの構築
Platespin Forge による災害対策システムの構築
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 
OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書
 
Eucalyptus 2.0 始めました!
Eucalyptus 2.0 始めました!Eucalyptus 2.0 始めました!
Eucalyptus 2.0 始めました!
 
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGOSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUG
 
完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク
 
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたサーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
 

Viewers also liked

Pedalada Escolar. Normes + Consells
Pedalada Escolar. Normes + ConsellsPedalada Escolar. Normes + Consells
Pedalada Escolar. Normes + ConsellsConsell Verd
 
Odyssey of Ukrainian Entomologist Sergey Paramonov
Odyssey of Ukrainian Entomologist Sergey ParamonovOdyssey of Ukrainian Entomologist Sergey Paramonov
Odyssey of Ukrainian Entomologist Sergey ParamonovValery Korneyev
 
ヨーロッパお勧め観光地
ヨーロッパお勧め観光地ヨーロッパお勧め観光地
ヨーロッパお勧め観光地Kohei KaiGai
 
The Security-Enhanced PostgreSQL - "system wide" consistency in access control
The Security-Enhanced PostgreSQL - "system wide" consistency in access controlThe Security-Enhanced PostgreSQL - "system wide" consistency in access control
The Security-Enhanced PostgreSQL - "system wide" consistency in access controlKohei KaiGai
 
LCJ2010-KaiGai-Memcached
LCJ2010-KaiGai-MemcachedLCJ2010-KaiGai-Memcached
LCJ2010-KaiGai-MemcachedKohei KaiGai
 
Bicicleta Pública per a L'H
Bicicleta Pública per a L'HBicicleta Pública per a L'H
Bicicleta Pública per a L'HConsell Verd
 
Technology Updates of PG-Strom at Aug-2014 (PGUnconf@Tokyo)
Technology Updates of PG-Strom at Aug-2014 (PGUnconf@Tokyo)Technology Updates of PG-Strom at Aug-2014 (PGUnconf@Tokyo)
Technology Updates of PG-Strom at Aug-2014 (PGUnconf@Tokyo)Kohei KaiGai
 

Viewers also liked (7)

Pedalada Escolar. Normes + Consells
Pedalada Escolar. Normes + ConsellsPedalada Escolar. Normes + Consells
Pedalada Escolar. Normes + Consells
 
Odyssey of Ukrainian Entomologist Sergey Paramonov
Odyssey of Ukrainian Entomologist Sergey ParamonovOdyssey of Ukrainian Entomologist Sergey Paramonov
Odyssey of Ukrainian Entomologist Sergey Paramonov
 
ヨーロッパお勧め観光地
ヨーロッパお勧め観光地ヨーロッパお勧め観光地
ヨーロッパお勧め観光地
 
The Security-Enhanced PostgreSQL - "system wide" consistency in access control
The Security-Enhanced PostgreSQL - "system wide" consistency in access controlThe Security-Enhanced PostgreSQL - "system wide" consistency in access control
The Security-Enhanced PostgreSQL - "system wide" consistency in access control
 
LCJ2010-KaiGai-Memcached
LCJ2010-KaiGai-MemcachedLCJ2010-KaiGai-Memcached
LCJ2010-KaiGai-Memcached
 
Bicicleta Pública per a L'H
Bicicleta Pública per a L'HBicicleta Pública per a L'H
Bicicleta Pública per a L'H
 
Technology Updates of PG-Strom at Aug-2014 (PGUnconf@Tokyo)
Technology Updates of PG-Strom at Aug-2014 (PGUnconf@Tokyo)Technology Updates of PG-Strom at Aug-2014 (PGUnconf@Tokyo)
Technology Updates of PG-Strom at Aug-2014 (PGUnconf@Tokyo)
 

Similar to OSS開発勉強会-02

SELinux_Updates_PoC_20170516
SELinux_Updates_PoC_20170516SELinux_Updates_PoC_20170516
SELinux_Updates_PoC_20170516Kazuki Omo
 
IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0Etsuji Nakai
 
SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516SecureOSS-Sig
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...Insight Technology, Inc.
 
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活Kuninobu SaSaki
 
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッションNutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッションSatoshi Shimazaki
 
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)Hajime Tazaki
 
OCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPOCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPTetsuya Sodo
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINE Corporation
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌A AOKI
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on AzureYoshio Terada
 
2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)Takahiro Shinagawa
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作irix_jp
 
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08Nobuto Murata
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Takamasa Maejima
 
Osc2017 tokyo spring_soss_sig
Osc2017 tokyo spring_soss_sigOsc2017 tokyo spring_soss_sig
Osc2017 tokyo spring_soss_sigKazuki Omo
 

Similar to OSS開発勉強会-02 (20)

SELinux_Updates_PoC_20170516
SELinux_Updates_PoC_20170516SELinux_Updates_PoC_20170516
SELinux_Updates_PoC_20170516
 
IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0
 
SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
 
Virtual Chassis Fabric for Cloud Builder
Virtual Chassis Fabric for Cloud BuilderVirtual Chassis Fabric for Cloud Builder
Virtual Chassis Fabric for Cloud Builder
 
Jap1
Jap1Jap1
Jap1
 
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
 
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッションNutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
 
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
 
OCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCPOCP Meetup Tokyo #05 ECK on OCP
OCP Meetup Tokyo #05 ECK on OCP
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌
 
OpenStack 101
OpenStack 101OpenStack 101
OpenStack 101
 
Java on Kubernetes on Azure
Java on Kubernetes on AzureJava on Kubernetes on Azure
Java on Kubernetes on Azure
 
2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
 
Embulk 20150411
Embulk 20150411Embulk 20150411
Embulk 20150411
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
 
Osc2017 tokyo spring_soss_sig
Osc2017 tokyo spring_soss_sigOsc2017 tokyo spring_soss_sig
Osc2017 tokyo spring_soss_sig
 

More from Kohei KaiGai

20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_HistoryKohei KaiGai
 
20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_APIKohei KaiGai
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrowKohei KaiGai
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_countKohei KaiGai
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0Kohei KaiGai
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCacheKohei KaiGai
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_IndexKohei KaiGai
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGISKohei KaiGai
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGISKohei KaiGai
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_ProcessingKohei KaiGai
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_OnlineKohei KaiGai
 
20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdwKohei KaiGai
 
20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_FdwKohei KaiGai
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.JapanKohei KaiGai
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_BetaKohei KaiGai
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGaiKohei KaiGai
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStromKohei KaiGai
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdwKohei KaiGai
 

More from Kohei KaiGai (20)

20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History
 
20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_count
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_Online
 
20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw
 
20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.Japan
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStrom
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw
 

OSS開発勉強会-02