Big Data Developerに贈る ~ Microsoft Azure による Big Data Architecture と、Elasticsearch、Databricks 解説 [セミナー] 東京開催
https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x8311627abcd
Big Data Developerに贈る ~ Microsoft Azure による Big Data Architecture と、Elasticsearch、Databricks 解説 [セミナー] 東京開催
https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x8311627abcd
2019/5/16に行われたGPU Deep Learning Community #11にて、LT発表させていただいた資料です。掲載に合わせ、少し改変しています。
https://gdlc.connpass.com/event/128748/
Deep Learning開発を行うにあたり、弊社の研究チームが直面した課題と、その解決方法として開発した支援プラットフォームKAMONOHASHIを紹介します。
2019/5/16に行われたGPU Deep Learning Community #11にて、LT発表させていただいた資料です。掲載に合わせ、少し改変しています。
https://gdlc.connpass.com/event/128748/
Deep Learning開発を行うにあたり、弊社の研究チームが直面した課題と、その解決方法として開発した支援プラットフォームKAMONOHASHIを紹介します。
Beginner must-see! A future that can be opened by learning HadoopDataWorks Summit
What is "Hadoop" now? It is difficult to hear ... But those who are interested, those who are thinking about the future as active as a data engineer, those who are new to the first time, through introductions of Hadoop and the surrounding ecosystem, introducing merits and examples, "What now Should I learn? "And I will introduce the future spreading through learning Hadoop and the surrounding ecosystem.
Smart data integration to hybrid data analysis infrastructureDataWorks Summit
To improve customer value and corporate competitiveness, it is necessary to deal with advanced analysis using big data, including data of core systems, and digital transformation.
At the same time, examples of hybrid construction of on-premise clouds are also spreading.
In this session, we will introduce the technology and the latest case examples of applying real-time replication utilized in the backbone system (RDBMS) to the Hadoop data analysis infrastructure (Hadoop Data Lake) of the hybrid configuration.
Some might think Docker is for developers only, but this is not really the case.Docker is here to stay and we will only see more of it in the future.
In this session learn what Docker is and how it works.This session will be covering core areas such as volumes, but also stepping it up to a few tips and tricks to help you get the most out of your Docker environment.The session will dive into a few examples of how to create a database environment within just a few minutes - perfect for testing,development, and possibly even production systems.
Machine Learning explained with Examples
Everybody is talking about machine learning. What is it actually and how can I use it?
In this presentation we will see some examples of solving real life use cases using machine learning. We will define Tasks and see how that task can be addressed using machine learning.
SQL Server 2017でLinuxに対応し、その延長線でDocker対応やKubernetesによる可用性構成が組めるようになりました。そしてリリースを間近に控えたSQL Server 2019ではKubernetesを活用したBig Data Cluster機能の提供が予定されており、コンテナの活用範囲はさらに広がっています。
本セッションではこれからSQL Serverコンテナに触れていくための基礎知識と実際に触れてみるための手順やサンプルをお届けします。
2018年11月5日(月)開催セミナー
DBを10分間で1000個構築するDB仮想化テクノロジーとは?
~Database as code in Devops~
講演資料です。
"What is DevOps"
Office of the CTO, Delphix Adam Bowen
Devopsとは何か?DevopsにおけるDB環境はどうあるべきか?Facebook,ebay,WallmartのDevpos事例を交えて、DevopsとDBのベストプラクティスを解説します。
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matchingharmonylab
公開URL:https://arxiv.org/pdf/2404.19174
出典:Guilherme Potje, Felipe Cadar, Andre Araujo, Renato Martins, Erickson R. ascimento: XFeat: Accelerated Features for Lightweight Image Matching, Proceedings of the 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2023)
概要:リソース効率に優れた特徴点マッチングのための軽量なアーキテクチャ「XFeat(Accelerated Features)」を提案します。手法は、局所的な特徴点の検出、抽出、マッチングのための畳み込みニューラルネットワークの基本的な設計を再検討します。特に、リソースが限られたデバイス向けに迅速かつ堅牢なアルゴリズムが必要とされるため、解像度を可能な限り高く保ちながら、ネットワークのチャネル数を制限します。さらに、スパース下でのマッチングを選択できる設計となっており、ナビゲーションやARなどのアプリケーションに適しています。XFeatは、高速かつ同等以上の精度を実現し、一般的なラップトップのCPU上でリアルタイムで動作します。
セル生産方式におけるロボットの活用には様々な問題があるが,その一つとして 3 体以上の物体の組み立てが挙げられる.一般に,複数物体を同時に組み立てる際は,対象の部品をそれぞれロボットアームまたは治具でそれぞれ独立に保持することで組み立てを遂行すると考えられる.ただし,この方法ではロボットアームや治具を部品数と同じ数だけ必要とし,部品数が多いほどコスト面や設置スペースの関係で無駄が多くなる.この課題に対して音𣷓らは組み立て対象物に働く接触力等の解析により,治具等で固定されていない対象物が組み立て作業中に運動しにくい状態となる条件を求めた.すなわち,環境中の非把持対象物のロバスト性を考慮して,組み立て作業条件を検討している.本研究ではこの方策に基づいて,複数物体の組み立て作業を単腕マニピュレータで実行することを目的とする.このとき,対象物のロバスト性を考慮することで,仮組状態の複数物体を同時に扱う手法を提案する.作業対象としてパイプジョイントの組み立てを挙げ,簡易な道具を用いることで単腕マニピュレータで複数物体を同時に把持できることを示す.さらに,作業成功率の向上のために RGB-D カメラを用いた物体の位置検出に基づくロボット制御及び動作計画を実装する.
This paper discusses assembly operations using a single manipulator and a parallel gripper to simultaneously
grasp multiple objects and hold the group of temporarily assembled objects. Multiple robots and jigs generally operate
assembly tasks by constraining the target objects mechanically or geometrically to prevent them from moving. It is
necessary to analyze the physical interaction between the objects for such constraints to achieve the tasks with a single
gripper. In this paper, we focus on assembling pipe joints as an example and discuss constraining the motion of the
objects. Our demonstration shows that a simple tool can facilitate holding multiple objects with a single gripper.
12. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
DWHといえば? カラムナー
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Date
Date
Date
Date
Date
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Date
Date
Date
Date
Date
1ブロックには様々な
タイプのデータが格納
されているので圧縮効
率を上げにくい
1ブロックには同様の
タイプのデータが格納
されているので圧縮効
率を上げやすい
通常のDB(行指向) 分析用DB(列指向)
13. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
この差はカラムナーだけではない
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000秒
TPC-H(SF=1000) クエリ実行時間
※monetdbが処理中にリソース不足でエラーとなったQ1, Q10, Q14を除いた実行時間
Vector
14. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
CPUの使い方に一日の長あり
SIMD (Single Instruction Multiple Data)
Pentium ⅢよりSSE(Streaming SIMD Extensions)として搭載され、
Sandy BridgeよりIntel AVX(Advanced Vector eXtensions)へ
・・・
・・・
・・・
・・・
・・・
Instruction
Data
Output
15. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
実行命令数の比較
27412968251
2.3858E+11
1.9685E+11
7.82182E+11
1.88149E+12 1.87184E+12
1
9 7
29
69
68
0
10
20
30
40
50
60
70
80
0.0E+00
1.0E+12
2.0E+12
Columnar DB
A
Columnar DB
B
In Memory DB
A
Rt = Instructions / (IPC * Hz * Parallelism)
Row Store DB
A
Row Store DB
B
CPUInstructions(count)
ComparisonvsVector
select
sum(l_extendedprice * l_discount) as revenue
from
lineitem -- 6億件, 80GB のデータ
where l_shipdate >= date '1996-01-01'
and l_shipdate < date '1996-01-01' + interval '1' year
and l_discount between 0.02 - 0.01 and 0.02 + 0.01
and l_quantity < 24
SIMD効果により、少ない命令数で済む
TPC-H Q6
16. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
ブランチミス数の比較
1.8E+07
1.1E+09
3.0E+08
1.1E+09
1.6E+09
7.7E+08
1
64
17
62
88
43
0
10
20
30
40
50
60
70
80
90
100
0.0E+00
1.0E+09
2.0E+09
Columnar DB
A
Columnar DB
B
In Memory DB
A
Row Store DB
A
Row Store DB
B
Rt = Instructions / (IPC * Hz * Parallelism)
CPUBranch-Misses(count)
ComparisonvsVector
そもそも分岐命令数が1~2桁少ない。よってブランチミスのペナルティも少なくて済む。
17. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
その結果がクエリの高速実行に
0.48 3.44
35.58
209.45
467.36
332.56
1
7
74
434
968
689
0
200
400
600
800
1000
1200
0
50
100
150
200
250
300
350
400
450
500
Columnar DB
A
Columnar DB
B
In Memory DB
A
Row Store DB
A
Row Store DB
B
Rt = Instructions / (IPC * Hz * Parallelism)
QueryElapsedTime(sec)
ComparisonvsVector
実行時間の比較
18. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
メモリよりキャッシュ
• CPUキャッシュのアクセスはRAMよりも高速
• すべてのベクトルがCPUキャッシュ内に収まるように問合せの実行プランを作成
Latency
HDD 10 – 15 ms
SSD (SATA) 0.2 – 2 ms
SSD (NVMe) 10 – 100 us
RAM 50 – 100 ns
L3 Cache 10 – 20 ns
L2 Cache 3 – 10 ns
L1 Cache 1 ns
HW各構成要素のレイテンシ比較
19. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
これらを組み合わせてx100は高速に
ベクター演算
カラムナー
データ自動圧縮CPUキャッシュ
マルチコア並列処理…
ストレージインデックス
Time/CyclestoProcess
Data Processed
DISK
RAM
CHIP
10GB2-3GB40-400MB
2-20150-250Millions
27. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
Hadoopエコシステムと比べてみると…
select
100.00 * sum(case
when p_type like 'PROMO%’
then l_extendedprice * (1 - l_discount)
else 0
end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue
from
lineitem,
part
where
l_partkey = p_partkey
and l_shipdate >= date '1996-01-01’
and l_shipdate < date '1996-01-01' + interval '1' month
;
onVS
Q14(TPC-Hの中では極悪度かなり低め)
VS
小規模なデモ環境(CPU:
12core x 4node)でTPC-H
(SF=10)のQ14を実行し、
Hive on TEZおよびSpark SQL
と実行時間を比較してみ
る。
34. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
その1:Spark側でVectorHテーブルを使う
Spark-Vector ConnectorによりSpark側で
VectorHのテーブルを読み書き可能
• SelectおよびInsert Select文
• HiveテーブルとのJOIN可能
• SQL構文はSpark側で解釈
spark.sqlContext.sql("""CREATE TEMPORARY VIEW vector_table
USING com.actian.spark_vector.sql.DefaultSource
OPTIONS (
host "192.168.99.121",
instance "VH",
database "tpch10",
user "actian",
password "actian",
table "customer"
)""")
val result=spark.sqlContext.sql("""select n.n_name, c.*
from vector_table c
join nation n where c.c_nationkey = n.n_nationkey limit 10""")
result.show()
Spark-Vector Connectorの使用例
35. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
その2:Sparkの力を使った外部表
• Ver.5からSpark-providerサービスが登
場、Vector側からのSparkアクセスが可
能に。
• External TableとしてCSV、jsonなどSpark
が取り扱えるファイルを読み書き可能
• Hiveテーブルも認識可能
• VectorHテーブルとのJOIN可能
• SQL構文はVectorのパーサで解釈
CREATE EXTERNAL TABLE PART
(
P_PARTKEY INTEGER8 NOT NULL,
P_NAME VARCHAR(55) NOT NULL,
P_MFGR CHAR(25) NOT NULL,
P_BRAND CHAR(10) NOT NULL,
P_TYPE VARCHAR(25) NOT NULL,
P_SIZE INTEGER8 NOT NULL,
P_CONTAINER CHAR(10) NOT NULL,
P_RETAILPRICE DECIMAL(15,2) NOT NULL,
P_COMMENT VARCHAR(23) NOT NULL
)
USING SPARK
WITH REFERENCE=‘part’,
FORMAT=‘hive’
36. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
さっきのクエリを外部表で実行してみる
select
100.00 * sum(case
when p_type like 'PROMO%’
then l_extendedprice * (1 - l_discount)
else 0
end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue
from
lineitem,
part
where
l_partkey = p_partkey
and l_shipdate >= date '1996-01-01’
and l_shipdate < date '1996-01-01' + interval '1' month
;
Q14
lineitemとpartを外部表にした
もの、partだけ外部表にして
VectorH上のlineitemとJOINし
たものを実行してみる。
37. * 記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。 Copyright 2018 Insight Technology, Inc. All Rights Reserved.
Hive / Sparkでは実行できないクエリも
select
nation,
o_year,
sum(amount) as sum_profit
from
(
select
n_name as nation,
extract(year from o_orderdate) as o_year,
l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount
from
part,
supplier,
lineitem,
partsupp,
orders,
nation
where
s_suppkey = l_suppkey
and ps_suppkey = l_suppkey
and ps_partkey = l_partkey
and p_partkey = l_partkey
and o_orderkey = l_orderkey
and s_nationkey = n_nationkey
and p_name like '%smoke%'
) as profit
group by
nation,
o_year
order by
nation,
o_year desc
;
Q9
Hive / Sparkはextract関数がない