SlideShare a Scribd company logo
1 of 32
Download to read offline
2011/10/29-30 5th sensor & overlay workshop
Skip List Revisited! (再訪)
吉田 幹
BBR, PIAX Inc.
~探索アルゴリズムと構造化オーバーレイ、
両者の接点について考える~
“Skip listという探索のためのアルゴリズム(+デー
タ構造)を通して、構造化オーバーレイに有用な
原理を考える”
5
ここでは、考えの道筋について発表します。
答えには至っていません。
研究にはまだまだ残された領域のあることを知っ
てもらうことができたら光栄です。
なぜ、Skip listか
(私は)構造化オーバーレイをこう捉えている
“探索アルゴリズム” の適用領域が、1台のコンピュータ
の内側から広域に拡がるネットワーキングの世界に展開
した形
特に、Pastry, Tapestry (Plaxtonのアルゴリズム),
Kademlia を見るとそう感じる
起点ノードから見ると、木構造の探索
共通する原理は、対象空間をstepwiseに絞り込むため
の構造化で、分割統治法(divide and conquer
algorithm)
※ けれど、Chordは異なった構造を持っていて、2つの見方が存在するのは確
かです。(今回は前者)
既存研究の延長で構造化オーバーレイを捉える
構造化オーバーレイに既存研究にない要素を見出す
6
なぜ、Skip listか
構造化オーバーレイ Skip graphの登場
通常のkey検索、範囲検索をシンプルな形で実現
“探索アルゴリズム”のニューファイスであるskip listを巧
みに使っている
ニューフェイス Skip list
新しい発想のバランス木新しい発想のバランス木
1970年代にKnuth博士によってまとめ上げられ、ほぼ仕事として
終わったと思われていた研究領域
バランシングのために“確率”を活用
そこに、分散システムを考える何かヒントがあるかも
7
Skip list
論文
W. Pugh, “Skip Lists: A Probabilistic Alternative to Balanced
Trees,” Communications of the ACM 33, 6 (June 1990)
ちなみに、WADS ’89(workshop, Aug 1989)での発表が最初
特徴
勝手にバランスするバランス木
木といっても実際には多段なリスト構造
これまでの厳格なバランシング処理とは違い、確率を使って緩や
かなバランスを実現
データ構造とアルゴリズムの両面においてシンプル
ノードの挿入・削除を簡単に行える
既存のバランス木と比べ高速
Lock-freeな実装が存在する
8
Skip list の構造
ノードはkey順に並ぶ
レベル0のリストには全てのノードが含まれる
レベルi-1に現れるノードはある確率pでレベルiに現れる(こ
こでは簡単のため、p=1/2とします)
通常のバランス木と違い、ノードの挿入・削除の際にバラン
シング処理が不要
HEAD TAIL
9
HEAD TAIL
Level 2
Level 1
Level 0
13 21 33 48 75 99
Skip list を使った探索
上位レベルから下位レベルに降りる形で処理が進む
平均探索時間は、ノード数をNとして、O(log N)
全順序関係が定義できるデータならすべて key として使うこ
とができる(数値、文字列など)。片寄りがあってもよい
HEAD TAIL
HEAD から Key “75” を探索
10
HEAD TAIL
Level 2
Level 1
Level 0
13 21 33 48 75 99
William Pugh先生
すごい人
Grid Computingやって
いたり、
Googleにいたり、
あのFindBugs作ってたり
11
バランス木(平衡木、balanced tree)
探索効率維持のため木を平衡状態にする必要がある
2分木(binary tree)
…平衡2分探索木(self-balancing binary search tree)
AVL tree
Red-black tree
N分木(N-ary tree)
2-3 tree
6
2-3 tree
B-tree
12
1
2
3
4
5
ワーストケース
O(N) の探索コスト
1
2
3
4
5
6
平衡状態の2分木
O(log N) の探索コスト
AVL tree
1962年。“AVL”は、Adel’son-Vel’skiiとLandisの名前に由来
ノード(key)の挿入・削除時にバランシング処理を行う
1重回転重回転重回転重回転
13
http://akademeia.info/index.php?AVL%CC%DA より
2重回転重回転重回転重回転
2-3 tree
ノードが2または3の子供を持つ
上限3をorder値と呼び拡張したのが、B-tree (1972年)
key追加の時に、ノードの分割
削除の時に、ノードの併合を行う
14
http://ja.wikipedia.org/ より
ノードの分割ノードの分割ノードの分割ノードの分割
2-3木の例木の例木の例木の例
Red-black tree
赤黒2色のノードを持ち次の条件を満たす(1972年)
根は黒ノード
赤ノードの子は黒ノード
すべての葉において、根までのパス上の黒ノードの個数が同じ
ノードの挿入・削除時に、色のつけかえ(color-flipping)と回
転(rotation)を行うことでバランスを維持
JavaのTreeMapがこの実装JavaのTreeMapがこの実装
15
赤黒木の例赤黒木の例赤黒木の例赤黒木の例 http://en.wikipedia.org/ より
2-3-4 tree と Red-black tree
B-tree(2-3-4木はその一種)と赤黒木の共通性
2-3-4木と等価なデータ構造を持つ赤黒木が存在する
2-3-4木における挿入、削除の操作は、赤黒木における
色のつけかえおよび回転の各操作と等価である
16
http://en.wikipedia.org/wiki/ より
2-3-4木を等価変換した赤黒木木を等価変換した赤黒木木を等価変換した赤黒木木を等価変換した赤黒木
Skip list vs. 既存のバランス木
AVL tree, 2-3 tree との性能比較
Skip listの論文より
Java、TreeMapと ConcurrentSkipListMapの比較
17
Java、TreeMapと ConcurrentSkipListMapの比較
Java 6のスレッドセーフなskip list実装
TreeMap ConcurrentSkipListMap
get,put,removeのコスト O(log N) O(log N)
バランシング処理 要 不要
スレッドセーフ NG さらに、lock-free
メモリ消費のオーバヘッド 3*N+α 6*N+α
Skip list についての素朴な疑問
p<1/2 の場合はどうなる?
確率(ばらつき)の影響は大丈夫?
探索木と同等に扱えるのか??
lock-free が可能な理由
18
p<1/2 の場合はどうなる?
Skip listの高さは低くなるが、横方向にたどる回数が増える
論文によると、1/2~1/4はほぼ同じ計算コスト。分かりやす
さから p=1/2 が用いられる
1 2 3 4 5 6 7 8 9 10head
高さ
19
1 2 3 4 5 6 7 8 9 10head
横方向
確率(ばらつき)の影響は大丈夫?
確率を使っている以上、レベル1以上のノードの並びにばら
つきが出る
論文には、探索コストに与える影響が考察されている
p=1/2, n=65,536でコストが倍になる確率は10-5
n=256 の場合は無視できないレベルになっている
20
Skip listは探索木と同等に扱えるのか?
下図のようにマッピングできる
木の左リンク は で代用される
リンク数が足りない場合、 を使って兄弟をたどる
3分木にした場合、 の代わりに青リンクを使う
21
1 2 3 4 5 6 7 8 9 10head
1
2
3
4
7
8
9
105 6
Skip listがlock-free可能な理由
ノードの挿入・削除の際に、バランシング処理を行う
必要がないため
単方向リストにおけるノードの挿入・削除(lock-free可能)
の組み合わせで済む
一方、バランシング処理は一方、バランシング処理は
次のようなトランザクションを形成する
1. ノード挿入箇所の探索
2. バランシングの要不要判定
3. バランシング処理(色のつけかけ、回転など)
4. (必要に応じて)根の方向に、3を再帰処理
同時処理ができないことと、根方向に影響範囲が及ぶこ
とが、lock-free化を困難にしている
22
Lock-free Skip List
M. Fomitchev , E. Ruppert, “Lock-free linked lists and skip lists,”
Proc of the 23th annual ACM symp, July 2004
23
ConcurrentSkipListMap
lock-free実装 (ソースを見ると書いてある)
* Head nodes Index nodes
* +-+ right +-+ +-+
* |2|---------------->| |--------------------->| |->null
* +-+ +-+ +-+
* | down | |
* v v v
* +-+ +-+ +-+ +-+ +-+ +-+
* |1|----------->| |->| |------>| |----------->| |------>| |->null
* +-+ +-+ +-+ +-+ +-+ +-+
* v | | | | |
24
* v | | | | |
* Nodes next v v v v v
* +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+
* | |->|A|->|B|->|C|->|D|->|E|->|F|->|G|->|H|->|I|->|J|->|K|->null
* +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+
*
* The base lists use a variant of the HM linked ordered set
* algorithm. See Tim Harris, "A pragmatic implementation of
* non-blocking linked lists"
* http://www.cl.cam.ac.uk/~tlh20/publications.html and Maged
* Michael "High Performance Dynamic Lock-Free Hash Tables and
* List-Based Sets"
* http://www.research.ibm.com/people/m/michael/pubs.htm. The
* basic idea in these lists is to mark the "next" pointers of
* deleted nodes when deleting to avoid conflicts with concurrent
* insertions, and when traversing to keep track of triples
* (predecessor, node, successor) in order to detect when and how
* to unlink these deleted nodes.
“DHT=構造化オーバーレイ” ではない
DHTは2層のモジュール構造になる
DHTサービス層では、hash(key)をルーティング層に渡す
ルーティング層では、受け取った値(=hash(key))の近傍
値を探索key(skey)として持つノードへ要求を転送する
put(key, value) pub(objId) join(grId), leave(grId)
25
Routing Layer
Service Layer
DHT DOLR ALM ・・・
route(skey, msg)
deliver(skey, msg)
※ case of KBR
put(key, value)
value=get(key)
pub(objId)
unpub(objId)
send(msg, objId)
join(grId), leave(grId)
multicast(msg, grId)
anycast(msg, grId)
“DHT=構造化オーバーレイ” ではない
分散KVSもこの枠組みに属する
Consistent hashingは右(左)最近傍探索
この場合、ルーティング層は通常フルメッシュ
“構造化オーバーレイ” をシンプルにルーティング層
を指す用語と捉えたい
オーバーレイネットワークの元々の意味からもオーバーレイネットワークの元々の意味からも
大半のDHT研究において、核となる部分はルーティング
層に関するものだし…
Skip graphのように、ルーティング層のみを対象とした研
究もある
DHTサービス層を前提とすることで制限付きのルーティ
ング機能となっているという現状も
26
DHTのルーティングアルゴリズム
DHTサービス層のルーティング層への要求
128または160bit空間からhash(key)に最も近いIDを持
つノード(群)を探し出す
ノードIDは空間において一様分布
このため、ルーティング層において、探索key(=ノ
ードID)は、次のように制限された形になるードID)は、次のように制限された形になる
「固定サイズの空間を対象とし、なおかつ、探索keyは一
様分布している」
27
空間(有限の整数空間)に一様
に探索keyが分布する
X
ルーティング層の独立性
探索木と同じ検索方式をルーティング層が持つこと
ができたなら、
全順序関係が定義できる任意の型のkeyを扱える
範囲検索も可能
DHTのルーティング層は上位のサービス層に依存
しているしている
例えば、DOLR(Decentralized Object Location
and Routing)
ルーティング層で任意の型を扱えるなら、objIdを直接挿
入し、検索対象とすればよい
しかしながら、objIdをセットできないため、DHTを対応表
として、間接的にobjIdを探すということをしている
28
ある日のつぶやき
29
ある日のつぶやき
30
まとめると
確率を使って、探索木を勝手にバランスさせる手法
Skip listの持つ革新的原理
分散化への効果
マルチコアシステムにおける lock-free
ネットワークシステムにおける skip graph
DHTが前提とするルーティングDHTが前提とするルーティング
対象とするドメイン
key(ID)が一様に分布する固定整数空間
既存の探索アルゴリズムでは
順序関係のみが定義されておればよい全順序集合
後者を実現する構造化オーバーレイはまだ少ない
Skip graph, Chord# …
31
見えてくる研究の方向性
探索アルゴリズムの知見を構造化オーバーレイに
多次元範囲検索や区間検索
Kd-tree, R-tree, interval tree など
log_2 N --> log_k N に
2分木からN分木へ
鍵は、確率によるバランシング
32
集中 分散
B-treeB-tree
plaxtonplaxton
XORXOR
Chord#Chord#
ChordChord
FRTFRT
AVL treeAVL tree
quadtreequadtree
trietrie
octreeoctree
33
探索アルゴリズムの研究探索アルゴリズムの研究探索アルゴリズムの研究探索アルゴリズムの研究
DHTアルゴリズムアルゴリズムアルゴリズムアルゴリズム
の研究の研究の研究の研究
構造化オーバーレイの研究構造化オーバーレイの研究構造化オーバーレイの研究構造化オーバーレイの研究
skip listskip list
interval treeinterval tree
kd-treekd-tree
R-treeR-tree
skip graphskip graph
RKSGRKSG
確率確率確率確率
いろいろ
Skip graphを分解すると
Skip list
確率によるバランシング
membership vector
分散化の手法
バランシングと分散化について、別の手法を編み出バランシングと分散化について、別の手法を編み出
すと、skip graph以外のものが作れるかも
Plaxtonに応用できれば、普通に使えるオーバーレ
イが作れるかも
確率の持つデメリットの回避方法も考えれる
近傍のノードをチェックするなど
残る課題、並行joinや修復処理は次のDDLLで
34
Q & A
ご清聴ありがとうございました

More Related Content

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

skiplist&overlay-111030