Database architecture

Comments

5 comments

  • Avatar
    Shawn Yarbrough

    Normally, OmniSciDB manages memory for you automatically by using a 3-tier architecture consisting of disk storage, CPU memory, and GPU memory.

    The COPY FROM command loads data into the database's disk storage and will be automatically pulled up to CPU memory and/or GPU memory when needed to answer queries.

    0
    Comment actions Permalink
  • Avatar
    Shawn Yarbrough

    see also: OmniSciDB

    0
    Comment actions Permalink
  • Avatar
    Candido Dessanti

    Hi @Youan_Lu,

    Using a regular table and copy command from omnisql, the data is written directly into the Disk Tier; at first glance, it looks like a not so smart thing, but when you load a table with 20 columns, and you are using 5 or 6 columns for your most frequently run queries, it's a smart thing to have loaded into memory just the columns involved in queries.

    If you run queries during a load of a table, just the delta since the last execution has to be read from the Disk Tier into CPU Memory Tier and GPU Memory Tier.

    The Nvidia K80 you are using isn't precisely one GPU with 24GB of VRAM, but it's a board with two GPUs with 12GB VRAM, so you should take care of spreading the data evenly between the two GPUs (as an example sharding the tables you are querying).

    The optimizer will fall back to CPU Execution, when for a single query

    0
    Comment actions Permalink
  • Avatar
    Youan Lu

    Hi, for Nvidia K80, when I run command nvidia-smi, it only shows one GPU with 12GB memory. How can I see another K80 GPU? Does Omnisci only use one K80 GPU at that case? When will be necessary to sharding the table? Is it necessary to sharing the table if the query only takes about 1400 MB or 3000MB of GPU memory ?

    0
    Comment actions Permalink
  • Avatar
    Candido Dessanti

    If you are using an Aws instance that state it has a k80 Gpu, you will be getting half of a physical k80, so just 1 Gpu with 12gb of Vram. ( I understand why you are confused, I don't like the attitude to give specs this way... Also the VCPUs aren't full core but just 1 thread, so an half core)

    In this case Omnisci database is able to use the full Gpu without the need of sharing tables.

    0
    Comment actions Permalink

Please sign in to leave a comment.