A method comprising: performing a pop operation on a heap stored in a memory; wherein said heap comprises a plurality of nodes (12, 14); wherein each node (12, 14) of said plurality of nodes (12, 14) comprises D slots, D being a whole number greater than one, wherein each slot of said D slots stores a key value of D key values, wherein the D slots of said each node (12, 14) are stored contiguously within a memory address space (22, 24) of said memory; wherein said plurality of nodes (12, 14) includes a root node and a plurality of parent nodes, said root node having D child nodes of said plurality of nodes (12, 14), wherein each child node of said D child nodes of said root node is a child of a respective parent slot in said root node, wherein each key value stored in a slot of said each child node is greater than the key value stored in said respective parent slot in said root node; each parent node of said plurality of nodes having D child nodes, wherein each child node of said D child nodes of said each parent node is a child of a respective parent slot in said each parent node, wherein each key value stored in a slot of said each child node is greater than the key value stored in said respective parent slot in said each parent node; wherein performing a pop operation on a heap includes: performing a Single Instruction Multiple Data, SIMD, operation on said root node to generate a first minimum key value and a first index of a first slot in the root node that holds said first minimum key value; copying a key value in an end-most slot in the heap into said first slot; wherein said first slot is a parent slot of a first child node; performing a SIMD operation on said first child node to generate a second minimum key value and a second index of a second slot in said first child node that contains said second minimum key value; determining that said second minimum key value is less than said first minimum key value stored in said first slot; and in response to determining that said second minimum key value is less than said first minimum key value, swapping the first minimum key value and the second minimum key value between the first slot and the second slot. performing a pop operation on a heap stored in a memory; wherein said heap comprises a plurality of nodes (12, 14); wherein each node (12, 14) of said plurality of nodes (12, 14) comprises D slots, D being a whole number greater than one, wherein each slot of said D slots stores a key value of D key values, wherein the D slots of said each node (12, 14) are stored contiguously within a memory address space (22, 24) of said memory; wherein said plurality of nodes (12, 14) includes a root node and a plurality of parent nodes, said root node having D child nodes of said plurality of nodes (12, 14), wherein each child node of said D child nodes of said root node is a child of a respective parent slot in said root node, wherein each key value stored in a slot of said each child node is greater than the key value stored in said respective parent slot in said root node; each parent node of said plurality of nodes having D child nodes, wherein each child node of said D child nodes of said each parent node is a child of a respective parent slot in said each parent node, wherein each key value stored in a slot of said each child node is greater than the key value stored in said respective parent slot in said each parent node; said root node having D child nodes of said plurality of nodes (12, 14), wherein each child node of said D child nodes of said root node is a child of a respective parent slot in said root node, wherein each key value stored in a slot of said each child node is greater than the key value stored in said respective parent slot in said root node; each parent node of said plurality of nodes having D child nodes, wherein each child node of said D child nodes of said each parent node is a child of a respective parent slot in said each parent node, wherein each key value stored in a slot of said each child node is greater than the key value stored in said respective parent slot in said each parent node; wherein performing a pop operation on a heap includes: performing a Single Instruction Multiple Data, SIMD, operation on said root node to generate a first minimum key value and a first index of a first slot in the root node that holds said first minimum key value; copying a key value in an end-most slot in the heap into said first slot; performing a Single Instruction Multiple Data, SIMD, operation on said root node to generate a first minimum key value and a first index of a first slot in the root node that holds said first minimum key value; copying a key value in an end-most slot in the heap into said first slot; wherein said first slot is a parent slot of a first child node; performing a SIMD operation on said first child node to generate a second minimum key value and a second index of a second slot in said first child node that contains said second minimum key value; determining that said second minimum key value is less than said first minimum key value stored in said first slot; and in response to determining that said second minimum key value is less than said first minimum key value, swapping the first minimum key value and the second minimum key value between the first slot and the second slot.