You are on page 1of 45

VMware Greenplum on Dell PowerFlex

Deploying VMware Greenplum on Dell PowerFlex


August 2022

H19048

Reference Architecture

Abstract
This reference architecture describes how to deploy VMware
Greenplum on Dell PowerFlex in a two-layer architecture. This
document also states the best practices to deploy Greenplum in a
PowerFlex environment to meet performance, resiliency, and scale
requirements.

Dell Technologies Solutions & VMware Inc.

PowerFlex Engineering
Validated
Copyright

The information in this publication is provided as is. Dell Inc. makes no representations or warranties of any kind with respect
to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness for a particular
purpose.
Use, copying, and distribution of any software described in this publication requires an applicable software license.
Copyright © 2022 Dell Inc. or its subsidiaries. All Rights Reserved. Dell Technologies, Dell, EMC, Dell EMC and other
trademarks are trademarks of Dell Inc. or its subsidiaries. Intel, the Intel logo, the Intel Inside logo and Xeon are trademarks
of Intel Corporation in the U.S. and/or other countries. Other trademarks may be trademarks of their respective owners.
VMware, Inc. 3401 Hillview Avenue Palo Alto CA 94304 USA Tel 877-486-9273 Fax 650-427-5001 www.vmware.com
Copyright © 2022 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and
intellectual property laws.
VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents. VMware is a registered
trademark or trademark of VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned
herein may be trademarks of their respective companies.
Dell Inc. believes the information in this document is accurate as of its publication date. The information is subject to change
without notice.
Published in the USA 08/22 Reference Architecture H19048.

2 VMware Greenplum on Dell PowerFlex

Reference Architecture
Executive summary

Contents

Chapter 1 Executive summary 5


Problem statement ................................................................................................6
Solution overview ..................................................................................................6
Terminology ..........................................................................................................7
Audience ...............................................................................................................7
We value your feedback ........................................................................................7
Revisions ..............................................................................................................8

Chapter 2 Product overview 9


PowerFlex product overview ...............................................................................10
VMware Greenplum product overview.................................................................13

Chapter 3 Solution architecture 14


Overview .............................................................................................................15
Logical architecture .............................................................................................15
Network architecture ...........................................................................................18
Greenplum architecture .......................................................................................19

Chapter 4 Testing and validation 20


Basic validation ...................................................................................................21
Greenplum query test suite .................................................................................25
Test results .........................................................................................................25
GPDSB tests on Greenplum ...............................................................................26

Chapter 5 Best practices 31


Overview .............................................................................................................32
PowerFlex best practices ....................................................................................32
VMware best practices ........................................................................................33
Greenplum best practices ...................................................................................33

Chapter 6 Conclusion 35
Summary ............................................................................................................36

Chapter 7 References 37
Dell Technologies documentation .......................................................................38
Greenplum documentation ..................................................................................38

VMware Greenplum on Dell PowerFlex 3

Reference Architecture
Executive summary

Chapter 8 Appendix 39

Appendix A Configuration 40
Overview .............................................................................................................41
PowerFlex configuration ......................................................................................41
Greenplum configuration .....................................................................................42

Appendix B Results 43
Gpcheckperf results ............................................................................................44

4 VMware Greenplum on Dell PowerFlex

Reference Architecture
Executive summary

Chapter 1 Executive summary

This chapter presents the following topics:

Problem statement ..............................................................................................6

Solution overview ...............................................................................................6

Terminology ........................................................................................................7

Audience..............................................................................................................7

We value your feedback .....................................................................................7

Revisions .............................................................................................................8

VMware Greenplum on Dell PowerFlex 5

Reference Architecture
Executive summary

Problem statement
Present-day businesses require modern product delivery that caters to their growing
business needs and meets their end-user requirements. To build a big data system
among different competing platforms, the users would prefer a platform with the most
capable, user-friendly, and durable adoption. Many organizations are facing challenges in
big data analytics to achieve dynamic growth and flexibility, while maintaining high
performance and availability. The reality is that often one of these key components is
sacrificed for the sake of the other. VMware Greenplum is a combination that holds all
these components: Greenplum for providing specialized big data analytics database,
VMware for self-management and automation, and PowerFlex for flexibility, resiliency,
and high performance.

Solution overview
PowerFlex is a software-defined storage platform designed to significantly reduce
operational and infrastructure complexity, empowering organizations to move faster by
delivering flexibility, elasticity, and simplicity with predictable performance and resiliency at
scale. The PowerFlex family provides a foundation that combines compute and high-
performance storage resources in a managed, unified fabric. PowerFlex comes in flexible
deployment options – integrated rack, appliance, or Ready Nodes - that enable two-layer
(compute and server SAN), single-layer (HCI), and storage only architectures. PowerFlex
is ideal for high-performance applications and databases, building an agile private cloud,
or consolidating resources in heterogeneous environments.

Building a big data system needs a lot of attention as every part and component must be
engineered. To build such a system is expensive and bears the risk of developing an
under featured platform when the vendor has a proprietary and a closed source code.
VMware Greenplum is open source and based on the PostgreSQL open-source core.
Greenplum benefits from being open source and it is based on the trust of two decades of
open-source PostgreSQL development on the core database engine.

A combination of VMware Greenplum and Dell PowerFlex provides flexible, all‑in‑one


solution that answers these needs. This combination is also cost‑effective, easy to build,
and simple to manage.

6 VMware Greenplum on Dell PowerFlex

Reference Architecture
Executive summary

Terminology
The following table provides definitions for some of the terms that are used in this
document.

Table 1. Terminology

Term Definition

CO Compute Only

GPDSB Greenplum Database Decision Support Benchmark

HCI Hyperconverged Infrastructure

MDM Meta Data Manager

OS Operating System

RCM Release Certification Matrix

SDS Storage Data Server

SDC Storage Data Client

SO Storage Only

VM Virtual Machine

Audience
This reference architecture is intended for database administrators, system engineers,
and partners who want to deploy Greenplum database on a PowerFlex platform.

The reader of this document should have a working knowledge of the following
technologies for the maximum understanding of this reference architecture:

• PowerFlex

• VMware Greenplum

We value your feedback


Dell Technologies and the authors of this document welcome your feedback on the Dell
Technologies and the authors of this document welcome your feedback on the solution
and the solution documentation. Contact the Dell Technologies Solutions team by email or
provide your comments by completing our documentation survey.

Author: Kailas Goliwadekar

Contributors: Phoenix Askevich, Sanjay Narahari, James F Hall, Darryl Smith,


Venkatsivapraveen Gorthy, Ripa Bhagawati

VMware Greenplum on Dell PowerFlex 7

Reference Architecture
Executive summary

Revisions
Date Description

February 2022 Initial release

August 2022 Added GPDSB test section

8 VMware Greenplum on Dell PowerFlex

Reference Architecture
Executive summary

Chapter 2 Product overview

This chapter presents the following topics:

PowerFlex product overview ............................................................................10

VMware Greenplum product overview ............................................................13

VMware Greenplum on Dell PowerFlex 9

Reference Architecture
Executive summary

PowerFlex product overview


PowerFlex family PowerFlex is a software-defined infrastructure platform that reduces operational and
infrastructure complexity. PowerFlex empowers organizations to move faster by delivering
flexibility, elasticity, and simplicity with extraordinary predictable performance for mission-
critical workloads, while also providing resiliency at scale. The PowerFlex family provides
a foundation that combines compute and high-performance storage resources in a
managed, unified fabric.

PowerFlex Delivers stringent SLAs effortlessly


delivers PowerFlex uses software to unlock the full potential of rapid advances in industry-
transformational standard hardware and deliver extreme SLA outcomes. PowerFlex aggregates
value resources across a broad set of nodes, unlocking massive input, output, and
throughput performance while minimizing the latency. Its self-balancing architecture
eliminates any hotspots and ensures consistency and simplicity over time. You can
scale the system while linearly scaling performance from a minimum of four nodes to
thousands of nodes, on-demand and without any disruption. And with its self-healing
architecture, PowerFlex can handle outages, upgrades, and maintenance without
downtime resulting in 99.9999 percent availability.

Flexible and dynamic architecture


PowerFlex delivers transformational agility that enables organizations to rapidly
respond to changing business needs. PowerFlex offers flexibility to mix and match the
storage, compute, and hyperconverged nodes in a dynamic deployment, allowing you
to scale storage and compute resources together or independently, one node at a time
as per your requirements.

Shared platform for heterogeneous workloads


The platform can also support a broad range of operating environments simultaneously
such as, bare metal operating systems, hypervisors, and container platforms with a
unified underlying infrastructure platform and management. You can also support
heterogeneous workloads with varying requirements on a flexible shared infrastructure
platform and modernize your application architectures on your schedule.

Extensive automation for predictability and simpler workflows


PowerFlex offers full-stack IT Operations Management (ITOM) and Life Cycle
Management (LCM) with PowerFlex Manager. It provides extensive automation
capabilities with PowerFlex Manager REST APIs and custom Ansible modules to
integrate with your infrastructure, application, and DevOps workflows. PowerFlex
Manager enables automated deployments and expansions with minimal firsthand time
for the IT team, letting them focus on other strategic initiatives.

Broad ecosystem of workload solutions


PowerFlex is designed to deliver superior outcomes at any scale for the most-
demanding mission-critical environments. It is optimized for a wide range of validated
workload solutions ranging from traditional relational databases and modern cloud-
native NoSQL databases to throughput-intensive analytics workloads.

10 VMware Greenplum on Dell PowerFlex

Reference Architecture
Executive summary

Figure 1. PowerFlex family

PowerFlex Software is the key factor of success in the PowerFlex offering. PowerFlex software
software components provide software-defined storage services. The software components help to
components simplify the infrastructure management and orchestration with comprehensive ITOM and
LCM capabilities that span compute and storage infrastructure, from BIOS and firmware to
nodes, software, and networking.

PowerFlex
PowerFlex is the software foundation of the PowerFlex platform. It delivers high
performance, highly resilient block storage service that can scale to thousands of nodes.

PowerFlex Manager
PowerFlex Manager is the software component in PowerFlex family that enables ITOM
automation and LCM capabilities while enabling flexible APIs and extensive automation.

PowerFlex PowerFlex is available in multiple consumption options to help customers meet their
consumption project and data center requirements. The PowerFlex appliance and PowerFlex rack
options provide customers the flexibility to choose a deployment option to meet their exact
requirements.

PowerFlex rack
The PowerFlex rack is a fully engineered system, with integrated networking that enables
the customers to simplify deployments and accelerate time to value.

VMware Greenplum on Dell PowerFlex 11

Reference Architecture
Executive summary

PowerFlex appliance
The PowerFlex appliance allows customers the flexibility and savings to choose their own
compatible networking. The PowerFlex appliance offers customers a smaller starting point
of four nodes, while enabling them to use their existing network infrastructure.

With PowerFlex, the customers deploy to match their initial needs and easily expand with
massive scale potential, without having to compromise on performance and resiliency.

Flexible PowerFlex is available through APEX custom solutions by the APEX Flex on Demand and
consumption- APEX Datacenter Utility for customers looking to adopt consumption-based OpEx models.
based billing
options APEX Flex on Demand
APEX Flex on Demand allows you to pay for technology as you use it and provides
immediate access to buffer capacity. Your payment adjusts to match your usage.

APEX Datacenter Utility


APEX Datacenter Utility provides the leading product portfolio from Dell Technologies that
is coupled with your choice of professional services and support to manage your data
center and its operations. A simple and single invoice provides monthly payments that are
based on a predictable rate and vary based on your usage.

12 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 2: Product overview

VMware Greenplum product overview


VMware Greenplum is a massively parallel processing (MPP) database server that
supports next generation data warehousing and large-scale analytics processing by
automatically partitioning data and running parallel queries, it allows a cluster of servers to
operate as a single database supercomputer performing tens or hundreds of times faster
than a traditional database. It supports SQL, MapReduce parallel processing, and data
volumes ranging from hundreds of gigabytes to hundreds of terabytes.

Analytics from BI Consolidate more workloads in a single environment.


to AI
VMware Greenplum reduces data silos by providing a single, scale-out environment for
converging analytic and operational workloads, like streaming ingestion. Perform point
queries, fast data ingestion, data science exploration, and long-running reporting queries
with greater scale and concurrency.

Open Source Pre-integrated components for easier consumption.


innovation
VMware Greenplum is based on PostgreSQL and the Greenplum Database project. It
offers optional use-case specific extensions like PostGIS for geospatial analysis, and GP
Text (based on Apache Tika and Apache Solr) for document extraction, search, and
natural language processing. These extensions are pre integrated to ensure a consistent
experience. Instead of depending on expensive proprietary databases, users can benefit
from the contributions of a vibrant community of developers.

Deploy anywhere Run analytics on public and private clouds, Kubernetes, or on-premises.
VMware Greenplum provides your enterprise with flexibility and choice because it can be
deployed on all major public and private cloud platforms, on-premises, and with container
orchestration systems like Kubernetes. Deploy and manage hundreds of Greenplum
instances easily.

Enterprise data Streamline data science operations and simplify workloads.


science
Tackle data science from experimentation to massive deployment with Apache MADlib,
the open-source library of in-cluster machine learning functions for the Postgres family of
databases. MADlib with Greenplum provides multinode, multi-GPU and deep learning
capabilities. It also offers automation-friendly features such as model versioning, and the
capability to push models from training to production by a REST API. Users avoid the pain
of porting and recoding analytical models.

For more information, see Greenplum.

VMware Greenplum on Dell PowerFlex 13

Reference Architecture
Chapter 3: Solution architecture

Chapter 3 Solution architecture

This chapter presents the following topics:

Overview ............................................................................................................15

Logical architecture ..........................................................................................15

Network architecture ........................................................................................18

Greenplum architecture ....................................................................................19

14 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 3: Solution architecture

Overview
This section provides an overview of the components that are involved in this solution
from a physical and logical perspective. For this document, the Greenplum solution is
deployed on Dell PowerFlex rack. Initially, PowerFlex with a disaggregated architecture
(two-layer) system is deployed with Compute Only (CO) nodes running ESXi hypervisor
for compute and network, and Storage Only (SO) nodes with Red Hat Enterprise Linux
7.9. After the PowerFlex is installed and validated, Greenplum is installed on top of
PowerFlex.

Logical architecture
The following figure illustrates the logical view of the Greenplum on PowerFlex with 10 SO
nodes and 12 CO nodes. The Greenplum is deployed on the CO nodes with one instance
of master and 10 segments.

VMware Greenplum on Dell PowerFlex 15

Reference Architecture
Chapter 3: Solution architecture

Figure 2. Logical architecture of Greenplum on PowerFlex

16 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 3: Solution architecture

Each of the SO node is fully populated with ten 7.68 TB SAS SSD drives. From
PowerFlex storage layout perspective, a single PowerFlex cluster with two protection
domains is used. Since each of the PowerFlex node is fully populated with ten disks,
these 100 disks are used to create four storage pools from which the various volumes are
created. The 12 CO nodes which are the ESXi hosts has the SDC component that makes
the ESXi data stores available from the PowerFlex volumes. Once the data stores
become available, Greenplum VMs are created in the VCenter with a single master and
ten segments.

For more information about the detailed configuration of the SO nodes, CO nodes, and
Greenplum master and segment VMs, see Greenplum configuration.

VMware Greenplum on Dell PowerFlex 17

Reference Architecture
Chapter 3: Solution architecture

Network architecture
The following figure shows the two-layer network architecture that is based on PowerFlex
best practices:

• Two Z9100 switches are configured with VLT to provide fault tolerance and enable
connectivity with other switches.
• Three dual port 25 Gb Mellanox NICs on each server provide 6 x 25 Gb ports.
• On compute nodes, 2 x 25 Gb ports are NIC teamed to provide high availability.
Another 2x25 Gb ports for Greenplum interconnect.
• Dedicated VLAN is configured to provide connectivity with the customer network,
similar VLAN is dedicated vMotion, and VLAN 105 is dedicated to Hypervisor
(ESXi) management.

Figure 3. PowerFlex network architecture

18 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 3: Solution architecture

Greenplum architecture
After PowerFlex is installed, Greenplum database is configured by creating VMs on the
compute nodes. As shown in the following figure, each ESXi host holds a single VM with
five primary and five mirror segments. Greenplum master is configured on one of the ESXi
hosts with no master mirror being configured. The configuration details of master and
segments are mentioned in the node configuration section of the Appendix. Greenplum
interconnect uses a standard Ethernet switching fabric in this case it’s a 2 x 25 Gb switch.
Half of the primary segments are using protection domain 01 and the other half are using
protection domain 02. Their corresponding mirrors are using the opposite protection
domains. These mirrors act as an additional level of data protection; in case an entire
protection domain goes down in PowerFlex.

Figure 4. Greenplum logical architecture

VMware Greenplum on Dell PowerFlex 19

Reference Architecture
Chapter 4: Testing and validation

Chapter 4 Testing and validation

This chapter presents the following topics:

Basic validation .................................................................................................21

Greenplum query test suite ..............................................................................25

Test results ........................................................................................................25

GPDSB tests on Greenplum .............................................................................26

20 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 4: Testing and validation

Basic validation
After the Greenplum cluster is installed, a basic validation is carried out to ensure that
PowerFlex compute, storage, and networking components are performing as expected.
The following tools are used to carry out the basic validation of PowerFlex and
Greenplum: FIO and gpcheckperf.

FIO tool: This tool is used to carry out storage IO characterization, an FIO tool is used to
measure the IOPS and bandwidth of a cluster. FIO was originally written as a tool to test
the Linux I/O subsystem. It has the flexibility to select different IO sizes, sequential or
random reads and writes. It spawns worker threads or processes to perform the specified
I/O operations.

Gpcheckperf tool: Greenplum provides a utility that is called gpcheckperf, which is used
to identify hardware and system-level performance issues on the hosts in the Greenplum
cluster. gpcheckperf starts a session on one of the hosts in the cluster and runs the
following performance tests:

• Network Performance (gpnetbench)


• Disk I/O Performance (dd test)
• Memory Bandwidth (stream test)

VMware Greenplum on Dell PowerFlex 21

Reference Architecture
Chapter 4: Testing and validation

FIO storage IO Read and write tests are carried out using FIO tool. The following commands are issued
characterization on each file system mountpoint which is mapped to every disk for each SDS using the FIO
tool.

Read Test Results:


This test was done with 256 K block size using a random read workload.

fio --name=largeread --bs=256k --filesize=10G --rw=randread --


ioengine=libaio --direct=1 --time_based --runtime=900 --numjobs=4
--randrepeat=0 --iodepth=16 --refill_buffers --
filename=/storage/data01/fiotestfile:/storage/data03/fiotestfile:/
storage/data02/fiotestfile:/storage/data04/fiotestfile:/storage/da
ta05/fiotestfile:/storage/data10/fiotestfile:/storage/data08/fiote
stfile:/storage/data06/fiotestfile:/storage/data07/fiotestfile:/st
orage/data09/fiotestfile

The FIO test was run using a PowerFlex cluster that had 5 Storage Only nodes in a single
protection domain. Each Storage Only node was populated with ten SSD disks, in total
there were 50 disks.

Note: The FIO tests showed a read bandwidth of 28 GB/s. The HBA limit on the storage nodes
were reached in this test. There was no bottleneck observed at the PowerFlex storage side. Extra
network bandwidth allows an increased bandwidth.

Figure 5. FIO random read test on PowerFlex

22 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 4: Testing and validation

Write Test Results:


This test was done with 256 K block size using a random write workload.

fio --name=largewrite --bs=256k --filesize=10G --rw=randwrite --


ioengine=libaio --direct=1 --time_based --runtime=900 --numjobs=4
--randrepeat=0 --iodepth=16 --refill_buffers --
filename=/storage/data01/fiotestfile:/storage/data03/fiotestfile:/
storage/data02/fiotestfile:/storage/data04/fiotestfile:/storage/da
ta05/fiotestfile:/storage/data10/fiotestfile:/storage/data08/fiote
stfile:/storage/data06/fiotestfile:/storage/data07/fiotestfile:/st
orage/data09/fiotestfile

The FIO test was run using a PowerFlex cluster that had five Storage Only nodes in a
single protection domain. Each Storage Only node was populated with 10 SSD disks, in
total there were 50 disks.

Note: The FIO tests showed a write bandwidth of 14 GB/s. The HBA limit on the storage nodes
were reached in this test. The NVMe nodes would eliminate this bottleneck, and then moving to
100 GbE networking would increase the performance up to a theoretical 20 GB/s per node. There
was no bottleneck observed at the PowerFlex storage side.

The bandwidth in the write test is half of that observed during the read test. This
bandwidth loss happens because the writes to PowerFlex volumes are mirrored at the
storage layer to allow for data resiliency. Therefore, every host write results in two writes
in the storage layer.

Figure 6. FIO random write test on PowerFlex

VMware Greenplum on Dell PowerFlex 23

Reference Architecture
Chapter 4: Testing and validation

Greenplum IO Gpcheckperf is used to test the performance of the hardware across the Greenplum
characterization cluster. I/O, memory, and network tests are carried out from the Greenplum VMs by
gpcheckperf utility, provided by VMware.

gpcheckperf -f /home/gpadmin/GBB.seghosts1-5 -S 80GB -r dsN -D -d


/storage/data01 -d /storage/data02 -d /storage/data03 -d
/storage/data04 -d /storage/data05 -d /storage/data06 -d
/storage/data07 -d /storage/data08 -d /storage/data09 -d
/storage/data10

The following are the results.


Summary:

Sum = 14,283.62 MB/sec


min = 1,098.35 MB/sec
max = 1,790.22 MB/sec
avg = 1,428.36 MB/sec
Median = 1,432.24 MB/sec

For detailed results of gpcheckperf, see Appendix

24 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 4: Testing and validation

Greenplum query test suite


Dell Digital has developed an internal test suite with simple, medium, and complex queries
running on a static, benchmarked data. This dataset is created by Dell and is used across
all new Greenplum environments as a gold standard to validate a new environment.

• Data and queries are all static, which allows measuring and comparing performance
of the cluster with previous runs.

• Static data is a range of small, medium, large, and even extra-large tables.

• Queries range from simple to complex.

• Queries return their individual run time.

• Queries are a mixed workload to simulate a production-like environment with the


ability to repeatedly test new environments.

• Queries were designed to simulate mix of workload on the cluster which would impact
CPU, memory, IO resources.

• Queries can run sequential or parallel test use-cases.

• Query test suite has two types of workloads. One with 19 queries (smaller suite) and
the other with 91 queries (complex suite), both allowing for sequential or parallel runs.

• Query test suite can be scheduled through cron, can be run multiple times, and can
be scaled up to support additional stress testing (such as running 2 x 91 queries
simultaneously, for a total of 182 parallel queries).

• Once the query test suite is performed, query runtime can be analyzed against
different configurations and different clusters to assess performance gains or losses.

Test results
There are two use cases considered for running tests on the Greenplum cluster.

The first use case is to run the data load along with 182 parallel complex queries test
simultaneously to stress the system. These are the actual production queries extracted
from Dell Digital team workload.

Table 2. Parameters

Parameters Value
Time taken for test 11.58 min
Read bandwidth 40 GB/s
Write Bandwidth 10 GB/s

VMware Greenplum on Dell PowerFlex 25

Reference Architecture
Chapter 4: Testing and validation

It is observed there was no bottleneck at the storage side of PowerFlex when this test was
run. The network bandwidth picked close to 50 GB/s which is the maximum limit that can
be achieved as the network card has 2 x 25 GB/s support.

The second use case is to create a storage-consistent snapshot while the above test of
data load along with 182 parallel queries is being run.

Table 3. Parameters

Parameters Value
Time taken for test 12.33 min
Read bandwidth 32 GB/s
Write Bandwidth 9 GB/s

When the snapshot is taken, the maximum bandwidth at PowerFlex is seen at 41 GB/s.
The read bandwidth is at 32 GB/s whereas the write bandwidth is at 9 GB/s. This
bandwidth drop is temporary due to the heavy load on the system (relative to its size) at
the time of the snapshot and was not seen when the workload was run again.

GPDSB tests on Greenplum


GPDSB is a decision support benchmark that models several generally applicable aspects
of a decision support system, including queries and data maintenance. This test creates a
database schema, loads the data and then runs 99 decision-support type queries. The
GPDSB test executes these 99 queries in random order with a different number of
sessions specified as test parameters. The test is used to simulate real world scenarios in
the database with simple to complex queries.

The GPDSB tool kit is downloaded from https://github.com/pivotal/TPC-DS. These scripts


can measure the database performance by running both single and concurrent-user
queries.

Note: The GPDSB like queries that were used in the tests described in this document are not part
of an audited benchmark and provided for educational purpose only.

As mentioned in the logical architecture section for Greenplum, each ESXi host holds a
single VM with five primary and five mirror segments. There are ten ESXi hosts and 100
segments in total. Out of the 100 segments, there were 50 primary segments to carry out
the GPDSB tests. The configuration details of master and segments is mentioned in the
Appendix.

Initially, a trial GPDSB test was carried out to verify that the queries can run successfully.
The smoke test was carried out with a scale factor of 1, which means 1 GB data load
across the data segments of Greenplum. A score of 0 is expected as shown in the
following result.

[root@bdldgpmtmp01a TPC-DS]# tail -f tpcds.log


Scale Factor 1

26 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 4: Testing and validation

Load 35
Analyze 38
1 User Queries 183
Concurrent Queries 365
Q 594
TPT 366
TTT 365
TLD 0
Score 0

The following config which was present in the tpcds_variables.sh file was used to
run the GPDSB test that uses five concurrent users along with 3 TB of data load.

# benchmark options
GEN_DATA_SCALE="3000"
MULTI_USER_COUNT="5"
# step options
RUN_COMPILE_TPCDS="true"
RUN_GEN_DATA="true"
RUN_INIT="true"
RUN_DDL="true"
RUN_LOAD="true"
RUN_SQL="true"
RUN_SINGLE_USER_REPORT="true"
RUN_MULTI_USER="true"
RUN_MULTI_USER_REPORT="true"
RUN_SCORE="true"

After running the GPDSB test, an overall score of 40 was achieved as follows:

[root@bdldgpmtmp01a TPC-DS]# tail -f tpcds.log


Scale Factor 3000
Load 1521
Analyze 143
1 User Queries 6664
Concurrent Queries 38549
Q 1485
TPT 33320
TTT 38549
TLD 76
Score 40

The test was also carried with varying number of concurrent users from 1 to 5 for 3 TB
load. The following graph shows the performance scale linearity while running the tests:

VMware Greenplum on Dell PowerFlex 27

Reference Architecture
Chapter 4: Testing and validation

TPC-DS for 3 TB data load


45,000 50
40,000 45
35,000 40
30,000 35
30

SCORE
25,000
25
20,000 20
15,000 15
10,000 10
5,000 5
0 0
1 2 3 4 5
Virtual Users 1 2 3 4 5
Score 44 43 42 41 40
Weighted Queries 297 594 891 1188 1485
Concurrent Queries 6635 13819 21387 29512 38549

Virtual Users Score Weighted Queries Concurrent Queries

Figure 7. GPDSB test for 1 to 5 concurrent users

The following Global User Configuration (GUC) settings are applied during the test run of
3 TB tests.

gpconfig -c gp_interconnect_queue_depth -v 16

gpconfig -c gp_interconnect_snd_queue_depth -v 16

gpconfig -c gp_resource_manager -v queue

gpconfig -c gp_vmem_protect_limit -v 45000

gpconfig -c max_statement_mem -v 9GB

gpconfig -c statement_mem -v 9GB

gpconfig -c gp_resqueue_memory_policy -v auto

gpconfig -c gp_resqueue_priority_cpucores_per_segment -v 16

gpconfig -c runaway_detector_activation_percent -v 100

gpconfig -c optimizer_enable_associativity -v on

28 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 4: Testing and validation

During the 3 TB GPDSB test run, the host CPU and VM CPU were close to 75-80%
utilized as shown in the following figures.

Figure 8. Host CPU during GPDSB run for 3 TB

Figure 9. VM CPU during GPDSB run for 3 TB

VMware Greenplum on Dell PowerFlex 29

Reference Architecture
Chapter 4: Testing and validation

The following figure shows the PowerFlex GUI during the 3 TB GPDSB run. An average of
4 GB/s was achieved with close to 14K IOPS.

Figure 10. PowerFlex GUI during the 3 TB GPDSB test run

30 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 5: Best practices

Chapter 5 Best practices

This chapter presents the following topics:

Overview ............................................................................................................32

PowerFlex best practices .................................................................................32

VMware best practices......................................................................................33

Greenplum best practices ................................................................................33

VMware Greenplum on Dell PowerFlex 31

Reference Architecture
Chapter 5: Best practices

Overview
This section describes the best practices that are derived from the performance tests and
the standard practices to deploy the PowerFlex cluster. Most of the PowerFlex and
VMware practices are standard proven best practices whereas Greenplum practices are
derived after running multiple tests with various parameters and fine-tuning.

PowerFlex best practices


• Ensure that the minimum number of nodes for production workload is seven for a
PowerFlex two-layer configuration in a VMware environment.
Homogenous node types are recommended for predictable performance. All the
compute nodes and storage nodes need to have the same hardware configuration
for predictable performance.
• Change the passwords for all default accounts.
• Ensure that the PowerFlex rack is compliant to an RCM. For more details, see the
PowerFlex specification sheet.
• Enable secure network protocol options only (for example, HTTPS and Secure
Shell (SSH).
• Ensure that the number of SDS threads is set to 12 for all the SO nodes.
• Separate the management and data traffic from production application traffic. You
can provide this separation by using VLANs.
• Separate the VMware vSphere vMotion traffic from the application traffic according
to the PowerFlex standards.
• Change the following Linux grub settings for the Skylake processor to comply with
performance best practices and rebuild the grub boot image:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root
rd.lvm.lv=rhel/swap rhgb intel_idle.max_cstate= 1
intel_pstate=disable quiet"
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
• When PowerFlex SSD drives are used, it is recommended to use NOOP for Linux
I/O scheduler on SDC hosts. To make the changes persistent through boot, add
elevator=noop to GRUB_CMD_LINUX line and rebuild the grub boot image. For
example:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root
rd.lvm.lv=rhel/swap rhgb quiet elevator=noop"

32 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 5: Best practices

VMware best practices


• Always use para virtual SCSI controller on guest VMs for high performance.
• Do not over-commit the VM host CPU.
• Enable hyper-threading for each CO node to improve the overall host performance
by keeping the CPU pipeline busy and allowing the hypervisor to schedule the CPU
clock cycle correctly.
• Ensure that the VM fits into the correct NUMA node configuration so that
Greenplum can leverage this setting for its database engine.
• Change per device queue length that is “No of outstanding IOs” to 256 on each CO
node to improve the IO concurrency of each data store.

Greenplum best practices


• Greenplum Database performs best with a denormalized schema design suited for
MPP analytical processing. For example, Star or Snowflake schema, with large fact
tables and smaller dimension tables.
• Use the same datatype for columns used in joins between tables.
• Set vm.overcommit_memory to 2.
• Do not configure the operating system to use a large number of pages.
• Use gp_vmem_protect_limit to set the maximum memory that the instance can
allocate for all work being done in each segment database.
• You can use gp_vmem_protect_limit by calculating:
o gp_vmem – the total memory available to Greenplum Database
gp_vmem = ((SWAP + RAM) – (7.5 GB + 0.05 * RAM)) / 1.7
Where SWAP is the host swap space in GB, and RAM is the host
RAM in GB.
o max_acting_primary_segments – the maximum number of primary
segments that could be running on a host when mirror segments are
activated due to a host or segment failure.
o gp_vmem_protect_limit
gp_vmem_protect_limit = gp_vmem / acting_primary_segments
Convert to MB to set the value of the configuration parameter.
• In a scenario where many work files are generated calculate the gp_vmem factor
with the following formula to account for the work files:
gp_vmem = ((SWAP + RAM) – (7.5GB + 0.05 * RAM - (300KB *
total_#_workfiles))) / 1.7
• Never set gp_vmem_protect_limit too high or larger than the physical RAM on the
system.
• Use the calculated gp_vmem value to calculate the setting for
the vm.overcommit_ratio operating system parameter:
vm.overcommit_ratio = (RAM - 0.026 * gp_vmem) / RAM

VMware Greenplum on Dell PowerFlex 33

Reference Architecture
Chapter 5: Best practices

• Use the statement_mem to allocate the memory used for a query per segment
database.
• Use the resource queues to set the numbers of active queries
(ACTIVE_STATEMENTS) and the amount of memory (MEMORY_LIMIT) that can
be used by queries in the queue.
• Associate all the users with a resource queue. Do not use the default queue.
• Set the priority to match the real needs of the queue for the workload and time of
the day. Avoid using MAX priority.
• Ensure that the resource queue memory allocations do not exceed the setting
for gp_vmem_protect_limit.
• Dynamically update the resource queue settings to match the daily operations flow.

See VMware Greenplum documentation to get the latest recommendations and best
practices for Greenplum.

34 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 6: Conclusion

Chapter 6 Conclusion

This chapter presents the following topics:

Summary .........................................................................................................366

VMware Greenplum on Dell PowerFlex 35

Reference Architecture
Chapter 6: Conclusion

Summary
This reference architecture describes the process to deploy VMware Greenplum on
PowerFlex using a two-layer architecture illustrating the flexibility and performance of the
solution and how it can fit complex use cases.

These use cases are not just theoretical, the architecture was tested using realistic data.
Part of this included performing 182 parallel queries while the PowerFlex storage was
placed under additional load and showed excellent performance without any storage
bottlenecks.

The architecture also provides best practices for deploying Greenplum in a PowerFlex
environment. These best practices are designed to drive performance, resiliency, and
scale from the environment when implemented.

If you are interested in discovering other reference architectures for your PowerFlex
environment go to the Dell InfoHub. If you want to learn more about how Dell can help
your organization reach its IT goals, contact your Dell representative.

36 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 7: References

Chapter 7 References

This chapter presents the following topics:

Dell Technologies documentation .................................................................388

Greenplum documentation.............................................................................388

VMware Greenplum on Dell PowerFlex 37

Reference Architecture
Chapter 7: References

Dell Technologies documentation


The following Dell Technologies documentation provides additional and relevant
information. Access to these documents depends on your login credentials. If you do not
have access to a document, contact your Dell Technologies representative.
• PowerFlex Overview ─ Video
• PowerFlex Specification Sheet
• PowerFlex Solutions Document ─ InfoHub
• PowerFlex Networking Best Practices and Design Considerations

Greenplum documentation
The following VMware documentation provides additional and relevant information:
• VMware Greenplum Documentation
• VMware Greenplum Features

38 VMware Greenplum on Dell PowerFlex

Reference Architecture
Chapter 8: Appendix

Chapter 8 Appendix

This chapter presents the following topics:

Appendix A Configuration…………………………………………………………40

Appendix B Results………………………………………………………………...44

VMware Greenplum on Dell PowerFlex 39

Reference Architecture
Appendix A Configuration

This appendix presents the following topics:

Overview ............................................................................................................41

PowerFlex configuration ..................................................................................41

Greenplum configuration ...............................................................................421

40 VMware Greenplum on Dell PowerFlex

Reference Architecture
Overview
This section describes the node configuration details for Greenplum and PowerFlex.

PowerFlex configuration
Node The following table shows the node configuration:
configuration
Table 4. PowerFlex node details

Component Details

PowerFlex appliance Compute Nodes


12 x PowerFlex Nodes (PowerEdge R640 servers):
• PowerFlex version: 3.6.0
• ESXi version: 6.7 U2
• CPU: 2 x Intel(R) Xeon(R) Gold 6248 CPU @ 3.0 GHz, 24
Cores
• Memory: 384 GB RAM ((12 x 32 GB DIMMs)
Storage Nodes
10 x PowerFlex Nodes (PowerEdge R640 servers):
• PowerFlex version: 3.6.0
• VMware ESXi version: 7.0 U2
• CPU: 2 x Intel(R) Xeon(R) Gold 6248 CPU @ 3.0 GHz, 24
Cores
• Memory: 384 GB RAM (12 x 32 GB DIMMs)

Network • 6 x Mellanox ConnectX-4 Lx 25 GbE Adapter


• 2 x Dell Z9100 switches

VMware Greenplum on Dell PowerFlex 41

Reference Architecture
Greenplum configuration
The following table shows the configuration of the Greenplum components:

Table 5. Greenplum component details

Component Details

Nodes • 10 (Segments) + 1 (Master – No backup coordinator in


critical test)

Memory/node • 1 TB/Node

VM Cores/node • 60 vcores

Physical Core/node • 48 cores (2x24)

Network • 2x25 Gb

Server configuration • PowerEdge R640: Fourth Generation – 6 Gb HBS card –


SSD

Storage • 1 TB: 10 drives/node

42 VMware Greenplum on Dell PowerFlex

Reference Architecture
Appendix B Results

This chapter presents the following topics

Gpcheckperf results…………………………………………………………………44

VMware Greenplum on Dell PowerFlex 43

Reference Architecture
Gpcheckperf results

This section shows the results using the Gpcheckperf tool.

== RESULT 2021-08-25T12:27:20.823828

Writes:

disk write avg time (sec): 57.23


disk write tot bytes: 858993459200
disk write tot bandwidth (MB/s): 14317.76
(14GB/S)
disk write min bandwidth (MB/s): 1406.11
[sdw4]
disk write max bandwidth (MB/s): 1469.94
[sdw7]
-- per host bandwidth --
disk write bandwidth (MB/s): 1455.58
[sdw10]
disk write bandwidth (MB/s): 1412.66
[sdw5]
disk write bandwidth (MB/s): 1406.11
[sdw4]
disk write bandwidth (MB/s): 1469.94
[sdw7]
disk write bandwidth (MB/s): 1441.75
[sdw6]
disk write bandwidth (MB/s): 1411.20
[sdw1]
disk write bandwidth (MB/s): 1414.85
[sdw3]
disk write bandwidth (MB/s): 1416.08
[sdw2]
disk write bandwidth (MB/s): 1443.02
[ sdw9]
disk write bandwidth (MB/s): 1446.58
[sdw8]

Note: Read results are removed because gpcheckperf returned unrealistic measurement. The
reason is that gpcheckperf uses DD command to prepare a file that contains zeros for the read
test. Due to optimizations for zero data at the storage layer, the reads never reach the SSD drives,
and the bandwidth that is returned is unrealistically high, not reflecting the read bandwidth of
actual data stored in PowerFlex.

Network:

stream tot bandwidth (MB/s):


101047.00

44 VMware Greenplum on Dell PowerFlex

Reference Architecture
stream min bandwidth (MB/s): 9816.50
[sdw5]

stream max bandwidth (MB/s):


10319.20 [sdw7]

-- per host bandwidth --

stream bandwidth (MB/s): 10233.40


[sdw10]

stream bandwidth (MB/s): 9816.50


[sdw5]

stream bandwidth (MB/s): 10126.60


[sdw4]

stream bandwidth (MB/s): 10319.20


[sdw7]

stream bandwidth (MB/s): 10231.40


[sdw6]

stream bandwidth (MB/s): 9997.60


[sdw1]

stream bandwidth (MB/s): 9971.90


[sdw3]

stream bandwidth (MB/s): 10145.10


[sdw2]

stream bandwidth (MB/s): 10103.60


[sdw9]

stream bandwidth (MB/s): 10101.70


[sdw8]

Netperf bisection bandwidth test


sdw1 -> sdw2 = 1346.040000
sdw3 -> sdw4 = 1169.140000
sdw5 -> sdw6 = 1432.240000
sdw7 -> sdw8 = 1790.220000
sdw9 -> sdw10 = 1750.850000
sdw2 -> sdw1 = 1137.700000
sdw4 -> sdw3 = 1254.890000
sdw6 -> sdw5 = 1098.350000
sdw8 -> sdw7 = 1631.140000
sdw10 -> sdw9 = 1673.050000

VMware Greenplum on Dell PowerFlex 45

Reference Architecture

You might also like