2017/9/7 db tech showcase Tokyo 2017(JPOUG in 15 minutes)にて発表した内容です。
SQL大量発行に伴う処理遅延は、ミッションクリティカルシステムでありがちな性能問題のひとつです。
SQLをまとめて発行したり、処理の多重度を上げることができれば高速化可能です。ですが・・・
AP設計に起因する性能問題のため、開発工程の終盤においては対処が難しいことが多々あります。
そのような状況において、どのような改善手段があるのか、Oracleを例に解説します。
2017/9/7 db tech showcase Tokyo 2017(JPOUG in 15 minutes)にて発表した内容です。
SQL大量発行に伴う処理遅延は、ミッションクリティカルシステムでありがちな性能問題のひとつです。
SQLをまとめて発行したり、処理の多重度を上げることができれば高速化可能です。ですが・・・
AP設計に起因する性能問題のため、開発工程の終盤においては対処が難しいことが多々あります。
そのような状況において、どのような改善手段があるのか、Oracleを例に解説します。
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformTakahiro Fujii
JSUG勉強会〜SpringOne Platform 2016 報告会!
https://jsug.doorkeeper.jp/events/50931
で発表させて頂いた、case studyのfeedbackになります。
This is the Japanese Feedback document of SpringOnepPlatform 2016 conference.
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformTakahiro Fujii
JSUG勉強会〜SpringOne Platform 2016 報告会!
https://jsug.doorkeeper.jp/events/50931
で発表させて頂いた、case studyのfeedbackになります。
This is the Japanese Feedback document of SpringOnepPlatform 2016 conference.
JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準MPN Japan
Big Data、IoT、FinTech や AdTech など最近話題のデジタル トランスフォーメーションを支える IT 基盤としてクラウドの活用が本格化しています。本セッションでは、グローバル規模での事業展開を支えるクラウド基盤の選定基準と日本企業がクラウドを活用したデジタル トランスフォーメーションを展開するうえでのヒントを国内外の事例を交じえてご紹介します。
セル生産方式におけるロボットの活用には様々な問題があるが,その一つとして 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.
【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上でリアルタイムで動作します。
31. Pivotal Function Service
Auto ScaleおよびScale to zeroを実現
するServerlessなFunction実行基盤
● OSSのKnativeおよびriffがベー
ス技術
● Coming soon!
Pivotal Container Service
Kubernetesをフルに活用した
コンテナオーケストレーションを提供
● 自動復旧可能な Kubernetesクラ
スタを動的にプロビジョニングす
るAPIを提供
● Kubernetesのエコシステムをフ
ル活用しつつ運用を楽に
Pivotal Application Service
アプリケーションセントリックな
クラウドネイティブプラットフォームを提
供
● クラウドネイティブなアプリケー
ション稼働のための機能をフル
に提供
● cf pushによる迅速なアプリリ
リース
● OSSのCloud Foundryがベース
技術
Platform as a ServiceContainer as a Service Function as a Service
PRACTICESPRACTICES PRACTICES
32. 製品毎の抽象化レイヤーの違い
DIY k8s or container stack
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
Provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
App
Team
Provided
33. 製品毎の抽象化レイヤーの違い
DIY k8s or container stack
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
Provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
App
Team
Provided
Dockerfileを書くのではなく、
Buildpackを使うことでソースコードからコ
ンテナイメージが作成される
54. API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
http://cloud.spring.io/spring-cloud-gateway/multi/multi__building_a_simple_gateway_using_spring_mvc_or_webflux.html
Spring Cloud Gatewayの
ProxyExchangeでシンプルに実装
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
63. API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
アプリケーション構成①(同期 加盟店 ➡ 決済機関)Circuit Breaker があれば
特定の決済機関で障害が発生しても
64. API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
アプリケーション構成①(同期 加盟店 ➡ 決済機関)他の決済機関へのアクセスに影響を及ぼさない
障害の伝播を防ぐ
72. アプリケーション構成③(非同期 加盟店 ➡ 決済機関)
API
Gateway
Service D
Service E
Service F
加盟店 X
加盟店 Y
加盟店 Z
決済機関 D
決済機関 E
決済機関 F
Hystrix
Hystrix
Hystrix
Hystrix
73. API
Gateway
Service D
Service E
Service F
加盟店 X
加盟店 Y
加盟店 Z
決済機関 D
決済機関 E
決済機関 F
Hystrix
Hystrix
Hystrix
Hystrix
同期決済が求められないケースでは
なるべく非同期パターンを適用
アプリケーション構成③(非同期 加盟店 ➡ 決済機関)
74. API
Gateway
Service D
Service E
Service F
加盟店 X
加盟店 Y
加盟店 Z
決済機関 D
決済機関 E
決済機関 F
Hystrix
Hystrix
Hystrix
Hystrix
決済機関の障害時に、
復帰後のエラー処理が可能
アプリケーション構成③(非同期 加盟店 ➡ 決済機関)
76. PCF App Autoscaler
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
特定の加盟店や決済機関の
急なリクエスト増
77. Hystrix
PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
Service A
Service A
API
Gateway
Service A
自動でAppインスタンス増
78. PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
79. PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
インスタンス数の設定
80. PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
スケールのルール設定
● CPU使用率
● Memory使用率
● HTTPスループット
● HTTPレイテンシ
● MQキューの長さ
81. PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
スケールアウト/インの
しきい値の設定
82. PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
PCFに載せて設定するだけ
アプリケーション側の対応は不要
83. The 12 Factor App
https://12factor.net/
III. Config
VI. Processes
VII. Port binding
VIII. Concurrency
XI. Logs
アプリ実装の観点で重要な5 Factors
環境に依存する設定項目は
環境変数に格納
CF、Spring Bootを使え
ば自動で満たされる
ログは標準出力に出力すれば
プラットフォームが集約
絶対ロストしたくないログは標準
出力ではなくRDBへ保存