Fine-grained Transaction Scheduling in Replicated Databases via - - PowerPoint PPT Presentation

fine grained transaction scheduling in replicated
SMART_READER_LITE
LIVE PREVIEW

Fine-grained Transaction Scheduling in Replicated Databases via - - PowerPoint PPT Presentation

Fine-grained Transaction Scheduling in Replicated Databases via Symbolic Execution Pedro Raminhas pedro.raminhas@tecnico.ulisboa.pt Stage: 2 nd Year PhD Student Research Area: Dependable and fault-tolerant systems and networks Advisors: Miguel


slide-1
SLIDE 1

Fine-grained Transaction Scheduling in Replicated Databases via Symbolic Execution

Pedro Raminhas

pedro.raminhas@tecnico.ulisboa.pt Stage: 2nd Year PhD Student Research Area: Dependable and fault-tolerant systems and networks Advisors: Miguel Matos Paolo Romano

slide-2
SLIDE 2

Research Questions

  • Problem:
  • Replication techniques incur non-negligible costs

to maintain consistency among replicas

  • 2PC => Distributed Deadlocks
  • Classic SMR => Serial execution
  • Parallel SMR => Not to trivial to parallelize txs

and maintain consistency

slide-3
SLIDE 3

Research Questions

  • Problem:
  • Replication techniques incur non-negligible costs

to maintain consistency among replicas

  • 2PC => Distributed Deadlocks
  • Classic SMR => Serial execution
  • Parallel SMR => Not to trivial to parallelize txs

and maintain consistency

  • Why is it a problem:
  • Deadlocks
  • Automatic Conflict Class Prediction => Too

Coarse Grained => Level of the table => Low Throughput

  • Manual Prediction => Hard and Not optimal
  • Avoid False negatives => Rollback of Txs,

possibly inconsistencies among replicas

slide-4
SLIDE 4

Research Questions

  • Approach:

Symbolic Execution => Recurring to Symbolic Execution, we are able to provide in a fine-grained and automatic way the set of objects/tuples accessed in a transaction.

  • Problem:
  • Replication techniques incur non-negligible costs

to maintain consistency among replicas

  • 2PC => Distributed Deadlocks
  • Classic SMR => Serial execution
  • Parallel SMR => Not to trivial to parallelize txs

and maintain consistency

  • Why is it a problem:
  • Deadlocks
  • Automatic Conflict Class Prediction => Too

Coarse Grained => Level of the table => Low Throughput

  • Manual Prediction => Hard and Not optimal
  • Avoid False negatives => Rollback of Txs,

possibly inconsistencies among replicas

slide-5
SLIDE 5

Research Questions

  • Approach:

Symbolic Execution => Recurring to Symbolic Execution, we are able to provide in a fine-grained and automatic way the set of objects/tuples accessed in a transaction.

  • Consequences:
  • Better Parallelism
  • No Runtime Overhead => offline analysis
  • No False negatives
  • Determinist Scheduling algorithms benefit

from fine-grained information

  • Problem:
  • Replication techniques incur non-negligible costs

to maintain consistency among replicas

  • 2PC => Distributed Deadlocks
  • Classic SMR => Serial execution
  • Parallel SMR => Not to trivial to parallelize txs

and maintain consistency

  • Why is it a problem:
  • Deadlocks
  • Automatic Conflict Class Prediction => Too

Coarse Grained => Level of the table => Low Throughput

  • Manual Prediction => Hard and Not optimal
  • Avoid False negatives => Rollback of Txs,

possibly inconsistencies among replicas

slide-6
SLIDE 6

Approach

Consensus

C1 C2 C1 C2 C3 C4 C1 C2 C3 C4 C5 C6 C7 C8

  • Most CPUs are multicore!!!
  • Some Transactions can be run in Parallel
  • Replicas must remain consistent
  • Schedule must be deterministic
slide-7
SLIDE 7

Approach

  • Compile-Time
  • SE gives the set of keys/tuples accessed

Employee Salary Alice X Bob Y Jose W Pedro Z Employee Country Alice Portugal Bob Australia Jose USA Pedro Portugal

Tx A: Sum of Australia’s Sallary : Entire Table Employee’s Countries && Bob

S c a n

slide-8
SLIDE 8

Approach

  • Compile-Time
  • SE gives the set of keys/tuples accessed

Employee Salary Alice X Bob Y Jose W Pedro Z Employee Country Alice Portugal Bob Australia Jose USA Pedro Portugal

Tx A: Sum of Australia’s Sallary : Entire Table Employee’s Countries && Bob Tx B: Increase Alice Sallary : Alice

S c a n

slide-9
SLIDE 9

Approach

  • Compile-Time
  • SE gives the set of keys/tuples accessed

Employee Salary Alice X Bob Y Jose W Pedro Z Employee Country Alice Portugal Bob Australia Jose USA Pedro Portugal

Tx A: Sum of Australia’s Sallary : Entire Table Employee’s Countries && Bob Tx B: Increase Alice Sallary : Alice

S c a n

Disjoint!!!!!

slide-10
SLIDE 10

Approach

  • Runtime
  • Use fine-grained information to Schedule Transactions

Employee Salary Alice X Bob Y Jose W Pedro Z Employee Country Alice Portugal Bob Australia Jose USA Pedro Portugal

Tx A: Sum of Australia’s Sallary : Entire Table Employee’s Countries && Bob Tx B: Increase Alice Sallary : Alice

S c a n

Disjoint Lock-Set Run in parallel

Tx A Tx A Tx B

slide-11
SLIDE 11

Approach

Employee Salary Alice X Bob Y Jose W Pedro Z Employee Country Alice Portugal Bob Australia Jose USA Pedro Portugal

Tx A: Sum of Australia’s Sallary : Entire Table Employee’s Countries && Bob Tx B: Increase Alice Sallary : Alice

S c a n

Solver

  • Runtime
  • Use fine-grained information to Schedule Transactions
slide-12
SLIDE 12

Approach

Lock-based: + Simple + No runtime overhead

  • Not trivial to

parallelize lock table Solver: + Provides the optimal schedule for batch

  • Imposes runtime
  • verhead
slide-13
SLIDE 13

Thanks for the attention Q&A